diff --git a/plugins/netapp/netapp-nvme.c b/plugins/netapp/netapp-nvme.c index ef4d8fcdab..b82ef5eb62 100644 --- a/plugins/netapp/netapp-nvme.c +++ b/plugins/netapp/netapp-nvme.c @@ -931,11 +931,19 @@ static int netapp_smdevices(int argc, char **argv, struct command *command, if (devname) { int subsys_num, nsid; + struct stat st; + char path[512]; if (sscanf(devname, "nvme%dn%d", &subsys_num, &nsid) != 2) { fprintf(stderr, "Invalid device name %s\n", devname); return -EINVAL; } + + sprintf(path, "/dev/%s", devname); + if (stat(path, &st) != 0) { + fprintf(stderr, "%s does not exist\n", path); + return -EINVAL; + } } smdevices = calloc(num, sizeof(*smdevices)); @@ -1023,11 +1031,19 @@ static int netapp_ontapdevices(int argc, char **argv, struct command *command, if (devname) { int subsys_num, nsid; + struct stat st; + char path[512]; if (sscanf(devname, "nvme%dn%d", &subsys_num, &nsid) != 2) { fprintf(stderr, "Invalid device name %s\n", devname); return -EINVAL; } + + sprintf(path, "/dev/%s", devname); + if (stat(path, &st) != 0) { + fprintf(stderr, "%s does not exist\n", path); + return -EINVAL; + } } num = scandir(dev_path, &devices, netapp_nvme_filter, alphasort);