mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 00:04:15 +08:00
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>
This commit is contained in:
parent
f15f64d65b
commit
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));
|
||||
|
Loading…
Reference in New Issue
Block a user