On 27/02/2026 19:52, Benjamin Marzinski wrote:
diff --git a/include/linux/multipath.h b/include/linux/multipath.h index 3846ea8cfd319..40dda6a914c5f 100644 --- a/include/linux/multipath.h +++ b/include/linux/multipath.h @@ -72,6 +72,9 @@ struct mpath_head_template { bool (*is_disabled)(struct mpath_device *); bool (*is_optimized)(struct mpath_device *); enum mpath_access_state (*get_access_state)(struct mpath_device *); + int (*bdev_ioctl)(struct block_device *bdev, struct mpath_device *, + blk_mode_t mode, unsigned int cmd, unsigned long arg, + int srcu_idx);I don't know that this API is going to work out. SCSI persistent reservations need access to all the mpath_devices, not just one, and they are commonly handled via SG_IO ioctls. Unless you want to disallow SCSI persistent reservations via SG_IO,
I want to make the multipathed /dev/sdX behave same as non-multipathed, so should then support it.
you need to be able to detect them, and handle them using the persistent reservation code with the mpath_head.
Understood, I am going to check this PR handling further. thanks!

