Commit ddcf3522cf03a147c867a2e0155761652dbd156a

Authored by NeilBrown
1 parent 126925c090

md: fix v1.x metadata update when a disk is missing.

If an array with 1.x metadata is assembled with the last disk missing,
md doesn't properly record the fact that the disk was missing.

This is unlikely to cause a real problem as the event count will be
different to the count on the missing disk so it won't be included in
the array.  However it could still cause confusion.

So make sure we clear all the relevant slots, not just the early ones.

Signed-off-by: NeilBrown <neilb@suse.de>

Showing 1 changed file with 3 additions and 1 deletions Side-by-side Diff

... ... @@ -1643,7 +1643,9 @@
1643 1643 bmask = queue_logical_block_size(rdev->bdev->bd_disk->queue)-1;
1644 1644 if (rdev->sb_size & bmask)
1645 1645 rdev->sb_size = (rdev->sb_size | bmask) + 1;
1646   - }
  1646 + } else
  1647 + max_dev = le32_to_cpu(sb->max_dev);
  1648 +
1647 1649 for (i=0; i<max_dev;i++)
1648 1650 sb->dev_roles[i] = cpu_to_le16(0xfffe);
1649 1651