[PATCHv2 2/4] nvme: extend show-topology command to add support for multipath
Hannes Reinecke
hare at suse.de
Mon Aug 18 00:22:09 PDT 2025
On 8/12/25 14:56, Nilay Shroff wrote:
> This commit enhances the show-topology command by adding support for
> NVMe multipath. With this change, users can now list all paths to a
> namespace from its corresponding head node device. Each NVMe path
> entry then also includes additional details such as ANA state, NUMA
> node, and queue depth, improving visibility into multipath configs.
> This information can be particularly helpful for debugging and
> analyzing NVMe multipath setups.
>
> To support this functionality, the "--ranking" option of the nvme
> show-topology command has been extended with a new sub-option:
> "multipath".
>
> Since this enhancement is specific to NVMe multipath, the iopolicy
> configured under each subsystem is now always displayed. Previously,
> iopolicy was shown only with nvme show-topology verbose output, but
> it is now included by default to improve usability and provide better
> context when reviewing multipath configurations via show-topology.
>
> With this update, users can view the multipath topology of a multi
> controller/port NVMe disk using:
>
> $ nvme show-topology -r multipath
>
> nvme-subsys2 - NQN=nvmet_subsystem
> hostnqn=nqn.2014-08.org.nvmexpress:uuid:12b49f6e-0276-4746-b10c-56815b7e6dc2
> iopolicy=numa
>
> _ _ _<head-node>
> / _ _ _ <ana-state>
> / / _ _ _ <numa-node-list>
> / / / _ _ _<queue-depth>
> | / / /
> +- nvme2n1 (ns 1) / / /
> \ | | |
> +- nvme2c2n1 optimized 1,2 0 nvme2 tcp traddr=127.0.0.2,trsvcid=4460,src_addr=127.0.0.1 live
> +- nvme2c3n1 optimized 3,4 0 nvme3 tcp traddr=127.0.0.3,trsvcid=4460,src_addr=127.0.0.1 live
>
> Please note that the annotations shown above (e.g., <numa-node-list>,
> <ana-state>, <hed-node>, and <queue-depth>) are included for clarity
> only and are not part of the actual output.
>
Hmm. Why do we have the values for 'numa-node-list' and 'queue-depth'
both in here? They are tied to the selected IO policy, and pretty
meaningless if that IO policy is not selected.
Please include only the values relevant for the selected IO policy;
this will increase readability of the resulting status string.
Cheers,
Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare at suse.de +49 911 74053 688
SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg
HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich
More information about the Linux-nvme
mailing list