Skip to content

Commit

Permalink
dm thin: emit ignore_discard in status when discards disabled
Browse files Browse the repository at this point in the history
If "ignore_discard" is specified when creating the thin pool device then
discard support is disabled for that device.  The pool device's status
should reflect this fact rather than stating "no_discard_passdown"
(which implies discards are enabled but passdown is disabled).

Reported-by: Zdenek Kabelac <zkabelac@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
  • Loading branch information
Mike Snitzer authored and Alasdair G Kergon committed Dec 21, 2012
1 parent e3cbf94 commit 018debe
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions drivers/md/dm-thin.c
Original file line number Diff line number Diff line change
Expand Up @@ -2391,7 +2391,9 @@ static int pool_status(struct dm_target *ti, status_type_t type,
else
DMEMIT("rw ");

if (pool->pf.discard_enabled && pool->pf.discard_passdown)
if (!pool->pf.discard_enabled)
DMEMIT("ignore_discard");
else if (pool->pf.discard_passdown)
DMEMIT("discard_passdown");
else
DMEMIT("no_discard_passdown");
Expand Down Expand Up @@ -2487,7 +2489,7 @@ static struct target_type pool_target = {
.name = "thin-pool",
.features = DM_TARGET_SINGLETON | DM_TARGET_ALWAYS_WRITEABLE |
DM_TARGET_IMMUTABLE,
.version = {1, 5, 0},
.version = {1, 6, 0},
.module = THIS_MODULE,
.ctr = pool_ctr,
.dtr = pool_dtr,
Expand Down

0 comments on commit 018debe

Please sign in to comment.