diff options
author | NeilBrown <neilb@suse.de> | 2006-06-26 03:27:40 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-26 12:58:37 -0400 |
commit | 5fd6c1dce06ec24ef3de20fe0c7ecf2ba9fe5ef9 (patch) | |
tree | bd7cc8c22615e8622d3d63b7fc68dcc3ac1964de /drivers/md/raid1.c | |
parent | a8a55c387da28d67d98f56e4f5021462cb61f7a6 (diff) |
[PATCH] md: allow checkpoint of recovery with version-1 superblock
For a while we have had checkpointing of resync. The version-1 superblock
allows recovery to be checkpointed as well, and this patch implements that.
Due to early carelessness we need to add a feature flag to signal that the
recovery_offset field is in use, otherwise older kernels would assume that a
partially recovered array is in fact fully recovered.
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/md/raid1.c')
-rw-r--r-- | drivers/md/raid1.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index 4dd53fcb791a..b3cfae41f769 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c | |||
@@ -1888,7 +1888,8 @@ static int run(mddev_t *mddev) | |||
1888 | 1888 | ||
1889 | disk = conf->mirrors + i; | 1889 | disk = conf->mirrors + i; |
1890 | 1890 | ||
1891 | if (!disk->rdev) { | 1891 | if (!disk->rdev || |
1892 | !test_bit(In_sync, &disk->rdev->flags)) { | ||
1892 | disk->head_position = 0; | 1893 | disk->head_position = 0; |
1893 | mddev->degraded++; | 1894 | mddev->degraded++; |
1894 | } | 1895 | } |