[PATCH 07/13] libmultipath: Add delayed removal support
John Garry
john.g.garry at oracle.com
Wed Apr 8 09:28:12 PDT 2026
On 08/04/2026 16:41, Hannes Reinecke wrote:
> On 4/8/26 13:28, John Garry wrote:
>> On 02/03/2026 12:41, Nilay Shroff wrote:
>>>> +
>>>> void mpath_add_sysfs_link(struct mpath_disk *mpath_disk)
>>>> {
>>>> struct mpath_head *mpath_head = mpath_disk->mpath_head;
>>>> @@ -793,6 +868,8 @@ struct mpath_head *mpath_alloc_head(void)
>>>> mutex_init(&mpath_head->lock);
>>>> kref_init(&mpath_head->ref);
>>>> + mpath_head->delayed_removal_secs = 0;
>>>> +
>>>> INIT_WORK(&mpath_head->requeue_work, mpath_requeue_work);
>>>> spin_lock_init(&mpath_head->requeue_lock);
>>>> bio_list_init(&mpath_head->requeue_list);
>>>
>>> I think we also need to initialize ->drv_module here.
>>
>> Hi Nilay,
>>
>> I am just coming back to this now. About NVMe multipath delayed disk
>> removal, did you consider a blktests testcase to cover it? I might
>> look at it if I have a chance (and it makes sense to do so).
>>
>
> That look patently like the 'queue_if_no_path' feature from dm-
> multipath. Any chance of reconciling these two?
You mean a common blktests testcase, right?
For NVMe, that test would:
a. try to remove NVMe ko when we have the delayed removal active
b. ensure that we can queue for no path
I suppose that a common testcase could be possible (with dm mpath), but
doesn't dm have its own testsuite?
Thanks,
John
More information about the Linux-nvme
mailing list