[PATCH 09/21] nvme: don't use nvme_update_disk_info for the multipath disk

Max Gurtovoy mgurtovoy at nvidia.com
Thu Feb 29 05:02:39 PST 2024



On 29/02/2024 14:47, Max Gurtovoy wrote:
> 
> 
> On 28/02/2024 20:12, Christoph Hellwig wrote:
>> Currently nvme_update_ns_info_block calls nvme_update_disk_info both for
>> the namespace attached disk, and the multipath one (if it exists).  This
>> is very different from how other stacking drivers work, and leads to
>> a lot of complexity.
>>
>> Switch to setting the disk capacity and initializing the integrity
>> profile, and let blk_stack_limits which already is called just below
>> deal with updating the other limits.
> 
> where does the blk_stack_limits called in the nvme/core ?
> Is it part of some preparation series ?

please ignore, I missed the last line in the chunk..

> 
>>
>> Signed-off-by: Christoph Hellwig <hch at lst.de>
>> ---
>>   drivers/nvme/host/core.c | 3 ++-
>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
>> index 105046a7957272..0bf30580f29d5b 100644
>> --- a/drivers/nvme/host/core.c
>> +++ b/drivers/nvme/host/core.c
>> @@ -2159,7 +2159,8 @@ static int nvme_update_ns_info_block(struct 
>> nvme_ns *ns,
>>       if (nvme_ns_head_multipath(ns->head)) {
>>           blk_mq_freeze_queue(ns->head->disk->queue);
>> -        nvme_update_disk_info(ns->ctrl, ns->head->disk, ns->head, id);
>> +        nvme_init_integrity(ns->head->disk, ns->head);
>> +        set_capacity_and_notify(ns->head->disk, get_capacity(ns->disk));
>>           set_disk_ro(ns->head->disk, nvme_ns_is_readonly(ns, info));
>>           nvme_mpath_revalidate_paths(ns);
>>           blk_stack_limits(&ns->head->disk->queue->limits,
> 



More information about the Linux-nvme mailing list