dm table: establish queue limits by copying table limits
authorMike Snitzer <snitzer@redhat.com>
Mon, 22 Jun 2009 09:12:32 +0000 (10:12 +0100)
committerAlasdair G Kergon <agk@redhat.com>
Mon, 22 Jun 2009 09:12:32 +0000 (10:12 +0100)
commit1197764e403d97231eb6da2b1e16f511a7fd3101
tree9c38793927501989c4c74cae0887309bd17484d8
parent5ab97588fb266187b88d1ad893251c94388f18ba
dm table: establish queue limits by copying table limits

Copy the table's queue_limits to the DM device's request_queue.  This
properly initializes the queue's topology limits and also avoids having
to track the evolution of 'struct queue_limits' in
dm_table_set_restrictions()

Also fixes a bug that was introduced in dm_table_set_restrictions() via
commit ae03bf639a5027d27270123f5f6e3ee6a412781d.  In addition to
establishing 'bounce_pfn' in the queue's limits blk_queue_bounce_limit()
also performs an allocation to setup the ISA DMA pool.  This allocation
resulted in "sleeping function called from invalid context" when called
from dm_table_set_restrictions().

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
drivers/md/dm-table.c