]> git.karo-electronics.de Git - karo-tx-linux.git/commit
dm persistent data: fix allocation failure in space map checker init
authorMike Snitzer <snitzer@redhat.com>
Tue, 3 Jul 2012 11:55:37 +0000 (12:55 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 16 Jul 2012 16:04:26 +0000 (09:04 -0700)
commit6d442d8f7e1a6920aad3d3f3ea544f6f8e6898b8
treebd5a572130cb49bba9a456ccb7340e4b1534e5ee
parent7723bfa90d8a1f75f41ade1a13b9b32c9255b15c
dm persistent data: fix allocation failure in space map checker init

commit b0239faaf87c38bb419c9264bf20817438ddc3a9 upstream.

If CONFIG_DM_DEBUG_SPACE_MAPS is enabled and memory is fragmented and a
sufficiently-large metadata device is used in a thin pool then the space
map checker will fail to allocate the memory it requires.

Switch from kmalloc to vmalloc to allow larger virtually contiguous
allocations for the space map checker's internal count arrays.

Reported-by: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/md/persistent-data/dm-space-map-checker.c