MD: change journal disk role to disk 0
Neil pointed out setting journal disk role to raid_disks will confuse reshape if we support reshape eventually. Switching the role to 0 (we should be fine as long as the value >=0) and skip sysfs file creation to avoid error. Signed-off-by: Shaohua Li <shli@fb.com> Signed-off-by: NeilBrown <neilb@suse.com>
This commit is contained in:
Родитель
cc57858831
Коммит
9b15603dbd
|
@ -1652,7 +1652,7 @@ static int super_1_validate(struct mddev *mddev, struct md_rdev *rdev)
|
||||||
rdev->journal_tail = le64_to_cpu(sb->journal_tail);
|
rdev->journal_tail = le64_to_cpu(sb->journal_tail);
|
||||||
if (mddev->recovery_cp == MaxSector)
|
if (mddev->recovery_cp == MaxSector)
|
||||||
set_bit(MD_JOURNAL_CLEAN, &mddev->flags);
|
set_bit(MD_JOURNAL_CLEAN, &mddev->flags);
|
||||||
rdev->raid_disk = mddev->raid_disks;
|
rdev->raid_disk = 0;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
rdev->saved_raid_disk = role;
|
rdev->saved_raid_disk = role;
|
||||||
|
|
|
@ -566,7 +566,9 @@ static inline char * mdname (struct mddev * mddev)
|
||||||
static inline int sysfs_link_rdev(struct mddev *mddev, struct md_rdev *rdev)
|
static inline int sysfs_link_rdev(struct mddev *mddev, struct md_rdev *rdev)
|
||||||
{
|
{
|
||||||
char nm[20];
|
char nm[20];
|
||||||
if (!test_bit(Replacement, &rdev->flags) && mddev->kobj.sd) {
|
if (!test_bit(Replacement, &rdev->flags) &&
|
||||||
|
!test_bit(Journal, &rdev->flags) &&
|
||||||
|
mddev->kobj.sd) {
|
||||||
sprintf(nm, "rd%d", rdev->raid_disk);
|
sprintf(nm, "rd%d", rdev->raid_disk);
|
||||||
return sysfs_create_link(&mddev->kobj, &rdev->kobj, nm);
|
return sysfs_create_link(&mddev->kobj, &rdev->kobj, nm);
|
||||||
} else
|
} else
|
||||||
|
@ -576,7 +578,9 @@ static inline int sysfs_link_rdev(struct mddev *mddev, struct md_rdev *rdev)
|
||||||
static inline void sysfs_unlink_rdev(struct mddev *mddev, struct md_rdev *rdev)
|
static inline void sysfs_unlink_rdev(struct mddev *mddev, struct md_rdev *rdev)
|
||||||
{
|
{
|
||||||
char nm[20];
|
char nm[20];
|
||||||
if (!test_bit(Replacement, &rdev->flags) && mddev->kobj.sd) {
|
if (!test_bit(Replacement, &rdev->flags) &&
|
||||||
|
!test_bit(Journal, &rdev->flags) &&
|
||||||
|
mddev->kobj.sd) {
|
||||||
sprintf(nm, "rd%d", rdev->raid_disk);
|
sprintf(nm, "rd%d", rdev->raid_disk);
|
||||||
sysfs_remove_link(&mddev->kobj, nm);
|
sysfs_remove_link(&mddev->kobj, nm);
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче