if (fd < 0)
goto ret;
- cfg.namespace_id = nvme_get_nsid(fd);
- if (cfg.namespace_id == 0) {
- err = -EINVAL;
- goto close_fd;
- }
- if (cfg.namespace_id < 0) {
- err = cfg.namespace_id;
- goto close_fd;
+ 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;
+ goto close_fd;
+ }
}
err = nvme_ns_delete(fd, cfg.namespace_id, cfg.timeout);
err = cfg.namespace_id;
goto close_fd;
}
- } else if (!cfg.namespace_id) {
- fprintf(stderr,
- "Error: requesting namespace-id from non-block device\n");
- err = -ENOTBLK;
- goto close_fd;
- }
+ else if (!cfg.namespace_id) {
+ fprintf(stderr,
+ "Error: requesting namespace-id from non-block device\n");
+ err = -ENOTBLK;
+ goto close_fd;
+ }
+ }
err = nvme_identify_ns(fd, cfg.namespace_id, cfg.force, &ns);
if (!err)
*/
cfg.namespace_id = NVME_NSID_ALL;
} else {
- cfg.namespace_id = nvme_get_nsid(fd);
- if (cfg.namespace_id < 0) {
- err = cfg.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;
+ goto close_fd;
+ }
}
}
} else if (cfg.lbaf == 0xff)
cfg.lbaf = prev_lbaf;
}
+ else {
+ if (cfg.lbaf == 0xff) cfg.lbaf = 0;
+ }
/* ses & pi checks set to 7 for forward-compatibility */
if (cfg.ses > 7) {
if (fd < 0)
goto ret;
- cfg.namespace_id = nvme_get_nsid(fd);
- if (cfg.namespace_id < 0) {
- err = cfg.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;
+ goto close_fd;
+ }
}
err = nvme_flush(fd, cfg.namespace_id);