summaryrefslogtreecommitdiff
path: root/drivers/md
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2012-10-11 07:22:17 +0400
committerNeilBrown <neilb@suse.de>2012-10-11 07:22:17 +0400
commitdb07d85ef6395d4768c6cdceeb2ea4878bd2a3f4 (patch)
treea0e049bfc08c2d6fd39ddae5065f9bd49d87f880 /drivers/md
parent91502f099dfc5a1e8812898e26ee280713e1d002 (diff)
downloadlinux-db07d85ef6395d4768c6cdceeb2ea4878bd2a3f4.tar.xz
md: make sure manual changes to recovery checkpoint are saved.
If you make an array bigger but suppress resync of the new region with mdadm --grow /dev/mdX --size=max --assume-clean then stop the array before anything is written to it, the effect of the "--assume-clean" is lost and the array will resync the new space when restarted. So ensure that we update the metadata in the case. Reported-by: Sebastian Riemer <sebastian.riemer@profitbricks.com> Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md')
-rw-r--r--drivers/md/md.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 200d0862335f..8d93f867adbf 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -3782,6 +3782,8 @@ resync_start_store(struct mddev *mddev, const char *buf, size_t len)
return -EINVAL;
mddev->recovery_cp = n;
+ if (mddev->pers)
+ set_bit(MD_CHANGE_CLEAN, &mddev->flags);
return len;
}
static struct md_sysfs_entry md_resync_start =