diff options
author | Heinz Mauelshagen <heinzm@redhat.com> | 2016-11-29 22:37:30 +0100 |
---|---|---|
committer | Mike Snitzer <snitzer@redhat.com> | 2016-12-08 20:13:12 +0100 |
commit | 11e2968478edc07a75ee1efb45011b3033c621c2 (patch) | |
tree | c8b204186efd6e7e1f12dd85d9aaa2d29f6428ca /drivers/md/dm-raid.c | |
parent | dm raid: don't allow "write behind" with raid4/5/6 (diff) | |
download | linux-11e2968478edc07a75ee1efb45011b3033c621c2.tar.xz linux-11e2968478edc07a75ee1efb45011b3033c621c2.zip |
dm raid: fix discard support regression
Commit ecbfb9f118 ("dm raid: add raid level takeover support") moved the
configure_discard_support() call from raid_ctr() to raid_preresume().
Enabling/disabling discard _must_ happen during table load (through the
.ctr hook). Fix this regression by moving the
configure_discard_support() call back to raid_ctr().
Fixes: ecbfb9f118 ("dm raid: add raid level takeover support")
Cc: stable@vger.kernel.org # 4.8+
Signed-off-by: Heinz Mauelshagen <heinzm@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'drivers/md/dm-raid.c')
-rw-r--r-- | drivers/md/dm-raid.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/md/dm-raid.c b/drivers/md/dm-raid.c index 9d5c6bb9e35b..b49b12242651 100644 --- a/drivers/md/dm-raid.c +++ b/drivers/md/dm-raid.c @@ -2999,6 +2999,9 @@ static int raid_ctr(struct dm_target *ti, unsigned int argc, char **argv) } } + /* Disable/enable discard support on raid set. */ + configure_discard_support(rs); + mddev_unlock(&rs->md); return 0; @@ -3585,12 +3588,6 @@ static int raid_preresume(struct dm_target *ti) if (test_bit(RT_FLAG_UPDATE_SBS, &rs->runtime_flags)) rs_update_sbs(rs); - /* - * Disable/enable discard support on raid set after any - * conversion, because devices can have been added - */ - configure_discard_support(rs); - /* Load the bitmap from disk unless raid0 */ r = __load_dirty_region_bitmap(rs); if (r) |