diff options
-rw-r--r-- | drivers/md/md.c | 2 | ||||
-rw-r--r-- | drivers/md/md.h | 8 |
2 files changed, 7 insertions, 3 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index 807095f4c793..874c843e72fb 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c | |||
@@ -1652,7 +1652,7 @@ static int super_1_validate(struct mddev *mddev, struct md_rdev *rdev) | |||
1652 | rdev->journal_tail = le64_to_cpu(sb->journal_tail); | 1652 | rdev->journal_tail = le64_to_cpu(sb->journal_tail); |
1653 | if (mddev->recovery_cp == MaxSector) | 1653 | if (mddev->recovery_cp == MaxSector) |
1654 | set_bit(MD_JOURNAL_CLEAN, &mddev->flags); | 1654 | set_bit(MD_JOURNAL_CLEAN, &mddev->flags); |
1655 | rdev->raid_disk = mddev->raid_disks; | 1655 | rdev->raid_disk = 0; |
1656 | break; | 1656 | break; |
1657 | default: | 1657 | default: |
1658 | rdev->saved_raid_disk = role; | 1658 | rdev->saved_raid_disk = role; |
diff --git a/drivers/md/md.h b/drivers/md/md.h index 2bea51edfab7..ca0b643fe3c1 100644 --- a/drivers/md/md.h +++ b/drivers/md/md.h | |||
@@ -566,7 +566,9 @@ static inline char * mdname (struct mddev * mddev) | |||
566 | static inline int sysfs_link_rdev(struct mddev *mddev, struct md_rdev *rdev) | 566 | static inline int sysfs_link_rdev(struct mddev *mddev, struct md_rdev *rdev) |
567 | { | 567 | { |
568 | char nm[20]; | 568 | char nm[20]; |
569 | if (!test_bit(Replacement, &rdev->flags) && mddev->kobj.sd) { | 569 | if (!test_bit(Replacement, &rdev->flags) && |
570 | !test_bit(Journal, &rdev->flags) && | ||
571 | mddev->kobj.sd) { | ||
570 | sprintf(nm, "rd%d", rdev->raid_disk); | 572 | sprintf(nm, "rd%d", rdev->raid_disk); |
571 | return sysfs_create_link(&mddev->kobj, &rdev->kobj, nm); | 573 | return sysfs_create_link(&mddev->kobj, &rdev->kobj, nm); |
572 | } else | 574 | } else |
@@ -576,7 +578,9 @@ static inline int sysfs_link_rdev(struct mddev *mddev, struct md_rdev *rdev) | |||
576 | static inline void sysfs_unlink_rdev(struct mddev *mddev, struct md_rdev *rdev) | 578 | static inline void sysfs_unlink_rdev(struct mddev *mddev, struct md_rdev *rdev) |
577 | { | 579 | { |
578 | char nm[20]; | 580 | char nm[20]; |
579 | if (!test_bit(Replacement, &rdev->flags) && mddev->kobj.sd) { | 581 | if (!test_bit(Replacement, &rdev->flags) && |
582 | !test_bit(Journal, &rdev->flags) && | ||
583 | mddev->kobj.sd) { | ||
580 | sprintf(nm, "rd%d", rdev->raid_disk); | 584 | sprintf(nm, "rd%d", rdev->raid_disk); |
581 | sysfs_remove_link(&mddev->kobj, nm); | 585 | sysfs_remove_link(&mddev->kobj, nm); |
582 | } | 586 | } |