{
int err;
- if (!namespace_id) {
- err = nvme_get_nsid(fd, &namespace_id);
- if (err < 0) {
- perror("get-namespace-id");
- goto close_fd;
- }
- }
-
err = nvme_zns_mgmt_send(fd, namespace_id, zslba, select_all, zsa,
data_len, buf);
close_fd:
if (fd < 0)
goto free;
+ if (!cfg.namespace_id) {
+ err = nvme_get_nsid(fd, &cfg.namespace_id);
+ if (err < 0) {
+ perror("get-namespace-id");
+ goto close_fd;
+ }
+ }
+
err = __zns_mgmt_send(fd, cfg.namespace_id, cfg.zslba,
cfg.select_all, zsa, 0, NULL);
if (!err)
printf("%s: Success, action:%d zone:%"PRIx64" nsid:%d\n", command,
- zsa, (uint64_t)zslba, cfg.namespace_id);
+ zsa, (uint64_t)cfg.zslba, cfg.namespace_id);
else
nvme_show_status(command, err);
free:
if (fd < 0)
return errno;
+ if (!cfg.namespace_id) {
+ err = nvme_get_nsid(fd, &cfg.namespace_id);
+ if (err < 0) {
+ perror("get-namespace-id");
+ goto close_fd;
+ }
+ }
+
if (cfg.data_len) {
if (posix_memalign(&buf, getpagesize(), cfg.data_len)) {
fprintf(stderr, "can not allocate feature payload\n");
.output_format = "normal",
};
-
OPT_ARGS(opts) = {
OPT_END()
};
printf("Success appended data to LBA %"PRIx64"\n", (uint64_t)result);
else
nvme_show_status("zone-append", err);
-
free_meta:
- free(mbuf);
+ if (mbuf)
+ free(mbuf);
close_mfd:
if (cfg.metadata)
close(mfd);