diff options
| author | John Garry <john.g.garry@oracle.com> | 2026-06-30 10:27:17 +0000 |
|---|---|---|
| committer | Keith Busch <kbusch@kernel.org> | 2026-07-06 11:38:07 -0700 |
| commit | dd516cd7624648c71d338d99368587f10ecc9f0b (patch) | |
| tree | 809547e0d6f1d573f24a30e1559249a78e248c49 | |
| parent | 0114dd303b373522dea06053aabae34bdd33a7c4 (diff) | |
| download | linux-dd516cd7624648c71d338d99368587f10ecc9f0b.tar.gz linux-dd516cd7624648c71d338d99368587f10ecc9f0b.zip | |
nvme: handle positive error codes in nuse_show()
Function __nvme_submit_sync_cmd() returns a positive error code for NVMe
errors. Otherwise, we get 0 for success or a negative error code for a
kernel error.
In nuse_show() -> ns_{head}_update_nuse() -> nvme_identify_ns() ->
nvme_submit_sync_cmd() -> __nvme_submit_sync_cmd(), we then may get a
positive error code returned.
Function nuse_show() - being a device attr handler - should return the
number of bytes written to the buffer or a negative error code.
Convert any positive NVMe error code to -EIO.
Signed-off-by: John Garry <john.g.garry@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Keith Busch <kbusch@kernel.org>
| -rw-r--r-- | drivers/nvme/host/sysfs.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/nvme/host/sysfs.c b/drivers/nvme/host/sysfs.c index 75b2d69b5957..abf8edaae371 100644 --- a/drivers/nvme/host/sysfs.c +++ b/drivers/nvme/host/sysfs.c @@ -240,8 +240,10 @@ static ssize_t nuse_show(struct device *dev, struct device_attribute *attr, ret = ns_head_update_nuse(head); else ret = ns_update_nuse(disk->private_data); - if (ret) + if (ret < 0) return ret; + else if (ret > 0) + return -EIO; return sysfs_emit(buf, "%llu\n", head->nuse); } |
