]> git.baikalelectronics.ru Git - kernel.git/commit
dm thin: fix table output when pool target disables discard passdown internally
authorMike Snitzer <snitzer@redhat.com>
Sat, 19 May 2012 00:01:01 +0000 (01:01 +0100)
committerAlasdair G Kergon <agk@redhat.com>
Sat, 19 May 2012 00:01:01 +0000 (01:01 +0100)
commit39d46154a93e07f85dc86b6b6245cb71f053e92b
treec4cfcf2702b3e5a1e94e3c3b923b52c413e4325a
parent2b84fd49a1b2c18db87255a004b658e1b29692f9
dm thin: fix table output when pool target disables discard passdown internally

When the thin pool target clears the discard_passdown parameter
internally, it incorrectly changes the table line reported to userspace.
This breaks dumb string comparisons on these table lines in generic
userspace device-mapper library code and leads to tables being reloaded
repeatedly when nothing is actually meant to be changing.

This patch corrects this by no longer changing the table line when
discard passdown was disabled.

We can still tell when discard passdown is overridden by looking for the
message "Discard unsupported by data device (sdX): Disabling discard passdown."

This automatic detection is also moved from the 'load' to the 'resume'
so that it is re-evaluated should the properties of underlying devices
change.

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