dm raid: constructor fails on non-zero incompat_features
When lvm2 userspace requests a RaidLV repair, it sets the rebuild constructor flag on the new replacement DataLVs but does not clear the respective MetaLVs. Hence the superblock that is loaded from such new MetaLVs may have a non-zero incompat_features member and the constructor will fail with false-positive on incompat_features. Solve by initializing the incompat_features member properly. Signed-off-by: Heinz Mauelshagen <heinzm@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Этот коммит содержится в:

коммит произвёл
Mike Snitzer

родитель
f15f64d65b
Коммит
b2a4872a45
@@ -1960,6 +1960,7 @@ static void super_sync(struct mddev *mddev, struct md_rdev *rdev)
|
||||
sb->data_offset = cpu_to_le64(rdev->data_offset);
|
||||
sb->new_data_offset = cpu_to_le64(rdev->new_data_offset);
|
||||
sb->sectors = cpu_to_le64(rdev->sectors);
|
||||
sb->incompat_features = cpu_to_le32(0);
|
||||
|
||||
/* Zero out the rest of the payload after the size of the superblock */
|
||||
memset(sb + 1, 0, rdev->sb_size - sizeof(*sb));
|
||||
|
Ссылка в новой задаче
Block a user