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)
committerAlasdair G Kergon <agk@redhat.com>
Tue, 3 Jul 2012 11:55:37 +0000 (12:55 +0100)
commitb0239faaf87c38bb419c9264bf20817438ddc3a9
treecc91fa9575c0900e5e26a0aa5edca2dc29cd37ca
parent62662303e7f590fdfbb0070ab820a0ad4267c119
dm persistent data: fix allocation failure in space map checker init

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>
Cc: stable@kernel.org
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
drivers/md/persistent-data/dm-space-map-checker.c