goto ret;
if (!cfg.namespace_id) {
- cfg.namespace_id = nvme_get_nsid(fd);
- if (cfg.namespace_id == 0) {
- err = -EINVAL;
- goto close_fd;
- }
- else if (cfg.namespace_id < 0) {
- err = cfg.namespace_id;
+ err = nvme_get_nsid(fd, &cfg.namespace_id);
+ if (err < 0) {
+ perror("get-namespace-id");
goto close_fd;
}
}
flags = 0;
if (!cfg.namespace_id) {
- cfg.namespace_id = nvme_get_nsid(fd);
- if (cfg.namespace_id < 0) {
- err = cfg.namespace_id;
+ err = nvme_get_nsid(fd, &cfg.namespace_id);
+ if (err < 0) {
+ perror("get-namespace-id");
goto close_fd;
}
}
int err, fd;
struct config {
- int namespace_id;
+ __u32 namespace_id;
int vendor_specific;
int raw_binary;
int human_readable;
flags |= VERBOSE;
if (!cfg.namespace_id) {
- cfg.namespace_id = nvme_get_nsid(fd);
- if (cfg.namespace_id < 0) {
- fprintf(stderr,
- "Error: requesting namespace-id from non-block device\n");
- err = cfg.namespace_id;
- goto close_fd;
- } else if (!cfg.namespace_id) {
- err = -EINVAL;
+ err = nvme_get_nsid(fd, &cfg.namespace_id);
+ if (err < 0) {
+ perror("get-namespace-id");
goto close_fd;
}
}
static int get_ns_id(int argc, char **argv, struct command *cmd, struct plugin *plugin)
{
- int err = 0, nsid, fd;
const char *desc = "Get namespce ID of a the block device.";
+ int err, fd;
+ __u32 nsid;
OPT_ARGS(opts) = {
OPT_END()
err = fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
- nsid = nvme_get_nsid(fd);
- if (nsid <= 0) {
+ err = nvme_get_nsid(fd, &nsid);
+ if (!err)
+ printf("%s: namespace-id:%u\n", devicename, nsid);
+ else
perror(devicename);
- err = errno;
- goto close_fd;
- }
- err = 0;
- printf("%s: namespace-id:%d\n", devicename, nsid);
-close_fd:
close(fd);
-ret:
- return nvme_status_to_errno(err, false);
+ return !err ? 0 : errno;
}
static int virtual_mgmt(int argc, char **argv, struct command *cmd, struct plugin *plugin)
cfg.namespace_id = NVME_NSID_ALL;
} else {
if (!cfg.namespace_id) {
- cfg.namespace_id = nvme_get_nsid(fd);
- if (cfg.namespace_id < 0) {
- err = cfg.namespace_id;
+ err = nvme_get_nsid(fd, &cfg.namespace_id);
+ if (err < 0) {
+ perror("get-namespace-id");
goto close_fd;
}
}
goto ret;
if (!cfg.namespace_id) {
- cfg.namespace_id = nvme_get_nsid(fd);
- if (cfg.namespace_id < 0) {
- err = cfg.namespace_id;
+ err = nvme_get_nsid(fd, &cfg.namespace_id);
+ if (err < 0) {
+ perror("get-namespace-id");
goto close_fd;
}
}
goto ret;
if (!cfg.namespace_id) {
- cfg.namespace_id = nvme_get_nsid(fd);
- if (cfg.namespace_id < 0) {
- err = cfg.namespace_id;
+ err = nvme_get_nsid(fd, &cfg.namespace_id);
+ if (err < 0) {
+ perror("get-namespace-id");
goto close_fd;
}
}
if (cfg.deac)
control |= NVME_IO_DEAC;
if (!cfg.namespace_id) {
- cfg.namespace_id = nvme_get_nsid(fd);
- if (cfg.namespace_id < 0) {
- err = cfg.namespace_id;
+ err = nvme_get_nsid(fd, &cfg.namespace_id);
+ if (err < 0) {
+ perror("get-namespace-id");
goto close_fd;
}
}
}
if (!cfg.namespace_id) {
- cfg.namespace_id = nvme_get_nsid(fd);
- if (cfg.namespace_id < 0) {
- err = cfg.namespace_id;
+ err = nvme_get_nsid(fd, &cfg.namespace_id);
+ if (err < 0) {
+ perror("get-namespace-id");
goto close_fd;
}
}
goto ret;
if (!cfg.namespace_id) {
- cfg.namespace_id = nvme_get_nsid(fd);
- if (cfg.namespace_id < 0) {
- err = cfg.namespace_id;
+ err = nvme_get_nsid(fd, &cfg.namespace_id);
+ if (err < 0) {
+ perror("get-namespace-id");
goto close_fd;
}
}
goto ret;
if (!cfg.namespace_id) {
- cfg.namespace_id = nvme_get_nsid(fd);
- if (cfg.namespace_id < 0) {
- err = cfg.namespace_id;
+ err = nvme_get_nsid(fd, &cfg.namespace_id);
+ if (err < 0) {
+ perror("get-namespace-id");
goto close_fd;
}
}
goto ret;
if (!cfg.namespace_id) {
- cfg.namespace_id = nvme_get_nsid(fd);
- if (cfg.namespace_id < 0) {
- err = cfg.namespace_id;
+ err = nvme_get_nsid(fd, &cfg.namespace_id);
+ if (err < 0) {
+ perror("get-namespace-id");
goto close_fd;
}
}
goto ret;
if (!cfg.namespace_id) {
- cfg.namespace_id = nvme_get_nsid(fd);
- if (cfg.namespace_id < 0) {
- err = cfg.namespace_id;
+ err = nvme_get_nsid(fd, &cfg.namespace_id);
+ if (err < 0) {
+ perror("get-namespace-id");
goto close_fd;
}
}
flags = 0;
if (!cfg.namespace_id) {
- cfg.namespace_id = nvme_get_nsid(fd);
- if (cfg.namespace_id < 0) {
- err = cfg.namespace_id;
+ err = nvme_get_nsid(fd, &cfg.namespace_id);
+ if (err < 0) {
+ perror("get-namespace-id");
goto close_fd;
}
}
__u16 dsmgmt;
__u16 app_tag_mask;
__u16 app_tag;
- int namespace_id;
+ __u32 namespace_id;
int limited_retry;
int force_unit_access;
int show;
goto ret;
if (!cfg.namespace_id) {
- cfg.namespace_id = nvme_get_nsid(fd);
- if (cfg.namespace_id <= 0) {
- err = cfg.namespace_id;
+ err = nvme_get_nsid(fd, &cfg.namespace_id);
+ if (err < 0) {
+ perror("get-namespace-id");
goto close_fd;
}
}
control |= NVME_IO_FUA;
if (!cfg.namespace_id) {
- cfg.namespace_id = nvme_get_nsid(fd);
- if (cfg.namespace_id < 0) {
- err = cfg.namespace_id;
+ err = nvme_get_nsid(fd, &cfg.namespace_id);
+ if (err < 0) {
+ perror("get-namespace-id");
goto close_fd;
}
}
static const char *dev_path = "/dev/";
struct smdevice_info {
- int nsid;
+ unsigned int nsid;
struct nvme_id_ctrl ctrl;
struct nvme_id_ns ns;
char dev[265];
};
struct ontapdevice_info {
- int nsid;
+ unsigned int nsid;
struct nvme_id_ctrl ctrl;
struct nvme_id_ns ns;
char nsdesc[4096];
if (strncmp("NetApp E-Series", item->ctrl.mn, 15) != 0)
return 0; /* not the right model of controller */
- item->nsid = nvme_get_nsid(fd);
+ err = nvme_get_nsid(fd, &item->nsid);
+ if (err < 0) {
+ perror("get-namespace-id");
+ return err;
+ }
+
err = nvme_identify_ns(fd, item->nsid, &item->ns);
if (err) {
fprintf(stderr, "Unable to identify namespace for %s (%s)\n",
/* not the right controller model */
return 0;
- item->nsid = nvme_get_nsid(fd);
+ err = nvme_get_nsid(fd, &item->nsid);
+ if (err < 0) {
+ perror("get-namespace-id");
+ return err;
+ }
err = nvme_identify_ns(fd, item->nsid, &item->ns);
if (err) {
struct config {
char *output_format;
- int namespace_id;
+ __u32 namespace_id;
int verbose;
};
flags |= VERBOSE;
if (!cfg.namespace_id) {
- cfg.namespace_id = nvme_get_nsid(fd);
- if (cfg.namespace_id <= 0) {
- if (!namespace_id) {
- errno = EINVAL;
- err = -1;
- } else
- err = cfg.namespace_id;
- fprintf(stderr, "Error: retrieving namespace-id\n");
+ err = nvme_get_nsid(fd, &cfg.namespace_id);
+ if (err < 0) {
+ perror("get-namespace-id");
goto close_fd;
}
}
int err;
if (!namespace_id) {
- namespace_id = nvme_get_nsid(fd);
- if (namespace_id <= 0) {
- if (!namespace_id) {
- errno = EINVAL;
- err = -1;
- } else
- err = namespace_id;
- fprintf(stderr, "Error: retrieving namespace-id\n");
+ err = nvme_get_nsid(fd, &namespace_id);
+ if (err < 0) {
+ perror("get-namespace-id");
goto close_fd;
}
}
struct config {
char *output_format;
__u64 zslba;
- int namespace_id;
+ __u32 namespace_id;
int num_descs;
int state;
bool verbose;
flags |= VERBOSE;
if (!cfg.namespace_id) {
- cfg.namespace_id = nvme_get_nsid(fd);
- if (cfg.namespace_id <= 0) {
- if (!namespace_id) {
- errno = EINVAL;
- err = -1;
- } else
- err = cfg.namespace_id;
- fprintf(stderr, "Error: retrieving namespace-id\n");
+ err = nvme_get_nsid(fd, &cfg.namespace_id);
+ if (err < 0) {
+ perror("get-namespace-id");
goto close_fd;
}
}
err = fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- return errno;
+ return errno;
if (!cfg.data_size) {
fprintf(stderr, "Append size not provided\n");