Message ID | 20250304121918.3159388-4-linan666@huaweicloud.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | bugfix of logical_block_size and make it configurable | expand |
Context | Check | Description |
---|---|---|
mdraidci/vmtest-md-6_14-VM_Test-0 | fail | Logs for per-patch-testing |
mdraidci/vmtest-md-6_14-PR | fail | PR summary |
diff --git a/drivers/md/md.c b/drivers/md/md.c index cf3d8ff807a7..48c35b6fb52e 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -5854,6 +5854,13 @@ int mddev_stack_new_rdev(struct mddev *mddev, struct md_rdev *rdev) if (mddev_is_dm(mddev)) return 0; + if (queue_logical_block_size(rdev->bdev->bd_disk->queue) > + queue_logical_block_size(mddev->gendisk->queue)) { + pr_err("%s: incompatible logical_block_size, can not add\n", + mdname(mddev)); + return -EINVAL; + } + lim = queue_limits_start_update(mddev->gendisk->queue); queue_limits_stack_bdev(&lim, rdev->bdev, rdev->data_offset, mddev->gendisk->disk_name);