]> git.karo-electronics.de Git - karo-tx-linux.git/commit
The discard limits that get established for a thin-pool or thin device
authorMike Snitzer <snitzer@redhat.com>
Thu, 20 Sep 2012 23:40:12 +0000 (09:40 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Thu, 20 Sep 2012 23:40:12 +0000 (09:40 +1000)
commitbee02430cc0db8ce52ab9d0b520c8e2187c67ed6
tree0369d9d6cd34786c7e7ad614cc69919fba44a567
parent2dbd9a34d27d79708dc9b0106b0eb9427171b837
The discard limits that get established for a thin-pool or thin device
may be incompatible with the pool's data device.  Avoid this by checking
the discard limits of the pool's data device.  If an incompatibility is
found then the pool's 'discard passdown' feature is disabled.

Change thin_io_hints to ensure that a thin device always uses the same
queue limits as its pool device.

Introduce requested_pf to track whether or not the table line originally
contained the no_discard_passdown flag and use this directly for table
output.  We prepare the correct setting for discard_passdown directly in
bind_control_target (called from pool_io_hints) and store it in
adjusted_pf rather than waiting until we have access to pool->pf in
pool_preresume.

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