[PATCHv4 6/8] nvme: export I/O failure count when no path is available via sysfs
John Garry
john.g.garry at oracle.com
Thu Jul 2 07:48:53 PDT 2026
On 02/07/2026 14:10, Nilay Shroff wrote:
>
> The primary purpose of this attribute is to aid debugging. Under normal
> operation, the counter is expected to be zero most of the time because
> the namespace head is short-lived after all paths are removed. However,
> if there is a subtle bug in the namespace head reference counting logic
> that prevents it from being deleted, a non-zero value would remain
> visible under:
>
> /sys/block/<nshead-dev>/diag/io_fail_no_available_path_count
>
> And yes this attribute is writable (as all other diag attributes), only
> to allow users to reset the counter to zero and then observe subsequent
> events.
It's something minor, but it makes sense to me that we only allow users
to reset the value to zero, like:
@@ -1249,7 +1249,7 @@ static ssize_t
io_fail_no_available_path_count_store(struct device *dev,
struct nvme_ns_head *head = disk->private_data;
err = kstrtoul(buf, 0, &fail_cnt);
- if (err)
+ if (err || fail_cnt)
return -EINVAL;
atomic_long_set(&head->io_fail_no_available_path_count, fail_cnt);
More information about the Linux-nvme
mailing list