Re: [PATCH v2 00/13] libmultipath: a generic multipath lib for block drivers

John Garry <[email protected]>
Newsgroups dev.linux.lists.dm-devel,org.infradead.lists.linux-nvme,org.kernel.vger.linux-kernel,org.kernel.vger.linux-scsi
Organization Oracle Corporation
Message-ID <[email protected]>
On 10/05/2026 23:03, Sagi Grimberg wrote:
>> Important new structures introduced include:
>>
>> - mpath_head
>> These contain much of the multipath-specific functionality from
>> nvme_ns_head, including a pointer to the gendisk structure and
>> a path SRCU-based array.
> 
> I think it should be placed first in its parent struct as it holds the 
> hot-path
> head->srcu and head->list.
>

Yeah, I did originally try this. However it becomes a pain for managing 
the lifecycle of the mpath_head and nvme_ns_head/scsi_mpath_head 
structures, especially for the scenarios like the delayed head removal.

However I can see again if I can make it work.

>>
>> - mpath_device
>> This is the per-path structure, and contains much the same
>> multipath-specific functionality in nvme_ns
>>
>> libmultipath provides functionality for path management, path selection,
>> data path, and failover handling.
>>
>> Since the NVMe driver has some code in the sysfs and ioctl handling
>> which iterate all multipath NSes, functions like mpath_call_for_device()
>> are added to do the same per-path iteration.
> 
> very nice, overall seems fairly straight forward.

thanks a lot
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.