Re: [PATCH v4 0/2] nvme-multipath: expose path_state via sysfs

Guixin Liu <[email protected]> Wed, 5 Aug 2026 09:55:46 +0800
Newsgroups org.infradead.lists.linux-nvme
Message-ID <[email protected]>
Hi Keith, Christoph, gentle ping on this patch set.
Any feedback would be appreciated. thanks.

Best Regards,
Guixin Liu

在 2026/7/24 17:00, Guixin Liu 写道:
> This series adds a read-only "path_state" sysfs attribute to each NVMe
> multipath path namespace device (/sys/block/nvmeXcYnZ/path_state), giving
> userspace visibility into whether a path is currently usable for I/O and,
> if not, the reason it is disabled.
>
> Today users have to piece this together from the controller state and
> various namespace flags. The new attribute reports the path selection
> state directly, and is kept in sync with the path selection logic by
> sharing a single nvme_path_get_state() helper.
>
> Patch 1 adds the attribute and the helper; patch 2 documents it in the
> stable NVMe sysfs ABI file.
>
> Changes since v3:
> - Use single-token sysfs values ("enabled", "ctrl-down", "ana-pending",
>    "ns-not-ready") instead of the composite "disabled (reason)" and
>    "enabled (optimized)/(non-optimized)" strings, following the sysfs
>    convention of exporting one simple value per attribute.
> - Drop the "enabled (optimized)" vs "enabled (non-optimized)"
>    distinction; the ANA access state is already exposed through the
>    existing per-path ana_state attribute.
> - Add a second patch documenting path_state in the stable NVMe sysfs
>    ABI (Documentation/ABI/stable/sysfs-nvme).
>
> Changes since v2:
> - Factor path disable checks into nvme_path_get_state() helper returning
>    enum nvme_path_state, and rebuild nvme_path_is_disabled() on top of it
>    to keep path selection logic and sysfs reporting in sync. (Nilay Shroff)
> - Distinguish "enabled (optimized)" vs "enabled (non-optimized)" based on
>    ANA state. (Keith Busch)
>
> Changes since v1:
> - Show specific disabled reason instead of just "disabled":
>    "disabled (ctrl_down)", "disabled (ana_pending)",
>    "disabled (ns_not_ready)". (Nilay Shroff)
>
> Guixin Liu (2):
>    nvme-multipath: expose path_state via sysfs
>    nvme-multipath: document path_state sysfs attribute
>
>   Documentation/ABI/stable/sysfs-nvme | 21 +++++++++++++
>   drivers/nvme/host/multipath.c       | 47 +++++++++++++++++++++++++----
>   drivers/nvme/host/nvme.h            |  1 +
>   drivers/nvme/host/sysfs.c           |  4 ++-
>   4 files changed, 66 insertions(+), 7 deletions(-)
>
>
> base-commit: 7caaa4120d8dd73bb251410e1d007b4131d024c4