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!

Reply via email to