dm thin: allocate the cell_sort_array dynamically
authorJoe Thornber <ejt@redhat.com>
Fri, 3 Jul 2015 09:22:42 +0000 (10:22 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 12 Aug 2015 14:33:20 +0000 (16:33 +0200)
commit a822c83e47d97cdef38c4352e1ef62d9f46cfe98 upstream.

Given the pool's cell_sort_array holds 8192 pointers it triggers an
order 5 allocation via kmalloc.  This order 5 allocation is prone to
failure as system memory gets more fragmented over time.

Fix this by allocating the cell_sort_array using vmalloc.

Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
[bwh: Backported to 3.2: make a similar change in prison_{create,destroy}()]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/md/dm-thin.c

Simple merge