Re: [PATCH 11/13] libmultipath: Add support for block device IOCTL

From: John Garry

Date: Mon Mar 02 2026 - 06:21:00 EST


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!