ITERATE_RDEV(mddev,rdev,tmp) {
mdp_super_t *this_sb;
- if (rdev->faulty || rdev->alias_device)
- continue;
this_sb = rdev->sb;
if (this_sb != sb)
*this_sb = *sb;
printk(KERN_INFO "md: ");
if (rdev->faulty)
printk("(skipping faulty ");
- if (rdev->alias_device)
- printk("(skipping alias ");
printk("%s ", bdev_partition_name(rdev->bdev));
- if (!rdev->faulty && !rdev->alias_device) {
+ if (!rdev->faulty) {
printk("[events: %08lx]",
(unsigned long)rdev->sb->events_lo);
err += write_disk_sb(rdev);
} else
printk(")\n");
+ if (!err && mddev->level == LEVEL_MULTIPATH)
+ /* only need to write one superblock... */
+ break;
}
if (err) {
if (--count) {
i = 0;
ITERATE_RDEV(mddev,rdev,tmp) {
if (mddev->level == LEVEL_MULTIPATH) {
- rdev->alias_device = !!i;
rdev->desc_nr = i++;
rdev->raid_disk = rdev->desc_nr;
rdev->in_sync = 1;
mdp_super_t *sb;
unsigned long sb_offset;
- int alias_device; /* device alias to the same disk */
int faulty; /* if faulty do not issue IO requests */
int in_sync; /* device is a full member of the array */