imsm: Write empty PPL header if assembling regular clean array.

If array was initially assembled with kernel without PPL support -
initial header was never written to the drive.
If initial resync was completed and system is rebooted to kernel with
PPL support - mdadm prevents from assembling normal clean array
due to lack of valid PPL.
Write empty header when assemble normal clean array, so the
its assamble is no longer blocked.

Signed-off-by: Pawel Baldysiak <pawel.baldysiak@intel.com>
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
This commit is contained in:
Pawel Baldysiak 2017-09-28 14:41:15 +02:00 committed by Jes Sorensen
parent b23d07503d
commit 50b9c10da0
1 changed files with 3 additions and 1 deletions

View File

@ -6225,7 +6225,9 @@ out:
}
if (ret == 1) {
if (map->map_state == IMSM_T_STATE_UNINITIALIZED)
if (map->map_state == IMSM_T_STATE_UNINITIALIZED ||
(map->map_state == IMSM_T_STATE_NORMAL &&
!(dev->vol.dirty & RAIDVOL_DIRTY)))
ret = st->ss->write_init_ppl(st, info, d->fd);
else
info->mismatch_cnt++;