diff options
author | Dan Williams <dan.j.williams@intel.com> | 2008-05-15 16:48:33 +1000 |
---|---|---|
committer | Neil Brown <neilb@suse.de> | 2008-05-15 16:48:33 +1000 |
commit | 0fd5c350e55590d2adbbb6ca16ec86391abda14b (patch) | |
tree | 5c1b6d74cf30067eb637cc49346f926c706539ac /super-intel.c | |
parent | 3cfe6247400e92f85282da89dfea7f1d3ba88634 (diff) | |
download | mdadm-0fd5c350e55590d2adbbb6ca16ec86391abda14b.tar.gz mdadm-0fd5c350e55590d2adbbb6ca16ec86391abda14b.tar.xz mdadm-0fd5c350e55590d2adbbb6ca16ec86391abda14b.zip |
set resync_start in Incremental_container
From: Dan Williams <dan.j.williams@intel.com>
Metadata handlers set mdinfo.resync_start depending on the state of the
array. By default mdadm assumes the array is dirty and needs a full
resync.
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'super-intel.c')
-rw-r--r-- | super-intel.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/super-intel.c b/super-intel.c index cfbf772..3c15ed2 100644 --- a/super-intel.c +++ b/super-intel.c @@ -1053,6 +1053,11 @@ static struct mdinfo *container_content_imsm(struct supertype *st) this->array.chunk_size = __le16_to_cpu(map->blocks_per_strip) << 9; this->array.state = !vol->dirty; this->container_member = i; + if (map->map_state == IMSM_T_STATE_UNINITIALIZED || dev->vol.dirty) + this->resync_start = 0; + else + this->resync_start = ~0ULL; + strncpy(this->name, (char *) dev->volume, MAX_RAID_SERIAL_LEN); this->name[MAX_RAID_SERIAL_LEN] = 0; |