From 0d01039985120b8b80eb306c84964eb2c1402c04 Mon Sep 17 00:00:00 2001 From: Zhen Wang Date: Mon, 13 Oct 2025 13:36:23 -0700 Subject: [PATCH] plugins/amzn: Handle EC2 local storage controller devices When nvme_get_nsid() fails for EC2 local storage devices, check if it's a controller device by attempting controller identification. If successful, use NVME_NSID_ALL to get metrics for the controller device. Signed-off-by: Zhen Wang --- plugins/amzn/amzn-nvme.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/plugins/amzn/amzn-nvme.c b/plugins/amzn/amzn-nvme.c index dff6b4f3ff..243f652f87 100644 --- a/plugins/amzn/amzn-nvme.c +++ b/plugins/amzn/amzn-nvme.c @@ -517,8 +517,14 @@ static int get_stats(int argc, char **argv, struct command *cmd, if (!strncmp((char *)ctrl.mn, AMZN_NVME_LOCAL_STORAGE_PREFIX, strlen(AMZN_NVME_LOCAL_STORAGE_PREFIX))) { if (nvme_get_nsid(dev_fd(dev), &args.nsid) < 0) { - rc = -errno; - goto done; + struct nvme_id_ctrl test_ctrl; + + if (nvme_identify_ctrl(dev_fd(dev), &test_ctrl) == 0) { + args.nsid = NVME_NSID_ALL; + } else { + rc = -errno; + goto done; + } } args.len = sizeof(log); } else {