summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2008-06-12 10:13:26 +1000
committerNeil Brown <neilb@suse.de>2008-06-12 10:13:26 +1000
commit80d26cb2fd18f814e1493aae92357868e044ae8b (patch)
tree5b310937f975482e302670be9d09d1fca0531aab
parent5575e7d962e7c8d00fafa300560af7ae0fe2c4f7 (diff)
downloadmdadm-80d26cb2fd18f814e1493aae92357868e044ae8b.tar.gz
mdadm-80d26cb2fd18f814e1493aae92357868e044ae8b.tar.xz
mdadm-80d26cb2fd18f814e1493aae92357868e044ae8b.zip
Correctly set resync_start when creating an array.
-rw-r--r--super-ddf.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/super-ddf.c b/super-ddf.c
index 7c3974e..9dbadfb 100644
--- a/super-ddf.c
+++ b/super-ddf.c
@@ -1286,6 +1286,14 @@ static void getinfo_super_ddf_bvd(struct supertype *st, struct mdinfo *info)
// info->disk.raid_disk = find refnum in the table and use index;
// info->disk.state = ???;
+ info->resync_start = 0;
+ if (!(ddf->virt->entries[info->container_member].state
+ & DDF_state_inconsistent) &&
+ (ddf->virt->entries[info->container_member].init_state
+ & DDF_initstate_mask)
+ == DDF_init_full)
+ info->resync_start = ~0ULL;
+
uuid_from_super_ddf(st, info->uuid);
sprintf(info->text_version, "/%s/%d",