OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
nvme_show_status("smart-log", err);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
nvme_free(log, huge);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
close(output);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
if (!err)
nvme_show_endurance_log(&log, cfg.group_id, devicename, flags);
else
- nvme_show_status("endurance log", err);
+ nvme_show_status("endurance-log", err);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
const char *raw = "show log in binary format";
const char *human_readable = "show log in readable format";
const char *csi = "command set indicator";
- struct nvme_cmd_effects_log log;
int err, fd;
enum nvme_print_flags flags;
+ struct nvme_cmd_effects_log log;
struct config {
int raw_binary;
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
nvme_show_status("effects-log", err);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
free(log);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
nvme_show_status("fw-log", err);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
nvme_show_status("changed-ns-list", err);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
if (cfg.aen) {
cfg.log_len = 4096;
nvme_free(log, huge);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
nvme_show_status("sanitize-status-log", err);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
nvme_show_status("id-namespace=list", err);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
if (!cfg.namespace_id) {
err = nvme_get_nsid(fd, &cfg.namespace_id);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
if (!cfg.namespace_id) {
fprintf(stderr, "%s: namespace-id parameter required\n",
if (!err)
printf("%s: Success, nsid:%d\n", cmd->name, cfg.namespace_id);
else
- nvme_show_status(attach ? "attach namespace" : "detach namespace", err);
+ nvme_show_status(attach ? "attach-namespace" : "detach-namespace", err);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
if (cfg.flbas != 0xff && cfg.bs != 0x00) {
fprintf(stderr,
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
nvme_show_status("identify-controller", err);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
free(nsdescs);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
nvme_show_status("identify-namespace", err);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- return fd;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
return errno;
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = nvme_virtual_mgmt(fd, cfg.act, cfg.rt, cfg.cntlid, cfg.nr,
&result);
nvme_show_status("virt-mgmt", err);
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = nvme_dev_self_test(fd, cfg.namespace_id, cfg.stc);
if (!err) {
nvme_show_status("device-self-test", err);
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
nvme_show_status("self-test-log", err);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
free(buf);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
if (!cfg.fw) {
fprintf(stderr,
close(fw_fd);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
if (cfg.slot > 7) {
fprintf(stderr, "invalid slot:%d\n", cfg.slot);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = nvme_subsystem_reset(fd);
if (err < 0)
perror("subsystem-reset");
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = nvme_ctrl_reset(fd);
if (err < 0)
perror("reset");
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = nvme_ns_rescan(fd);
if (err < 0)
perror("namespace-rescan");
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto err;
+ return errno;
switch (cfg.sanact) {
case NVME_SANITIZE_SANACT_EXIT_FAILURE:
nvme_show_status("sanitize", err);
close_fd:
close(fd);
-err:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
munmap(bar, getpagesize());
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
if (cfg.offset == -1) {
fprintf(stderr, "offset required param\n");
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
if (cfg.offset == -1) {
fprintf(stderr, "offset required param\n");
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
if (cfg.lbaf != 0xff && cfg.bs !=0) {
fprintf(stderr,
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
free(buf);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
if (!cfg.file) {
fprintf(stderr,
"Required parameter [--file | -f] not specified\n");
+ err = -1;
+ errno = EINVAL;
goto close_fd;
}
- sec_fd = open(cfg.file, O_RDONLY);
+ err = sec_fd = open(cfg.file, O_RDONLY);
if (sec_fd < 0) {
fprintf(stderr, "Failed to open %s: %s\n",
cfg.file, strerror(errno));
- err = -EINVAL;
goto close_fd;
}
close(sec_fd);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
if (!cfg.namespace_id) {
err = nvme_get_nsid(fd, &cfg.namespace_id);
free(buf);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
if (!cfg.namespace_id) {
err = nvme_get_nsid(fd, &cfg.namespace_id);
err = nvme_write_uncorrectable(fd, cfg.namespace_id, cfg.start_block,
cfg.block_count);
- nvme_show_status("write uncorrectable", err);
+ nvme_show_status("write-uncorrectable", err);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
if (cfg.prinfo > 0xf) {
err = -EINVAL;
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
nc = argconfig_parse_comma_sep_array(cfg.ctx_attrs, ctx_attrs, ARRAY_SIZE(ctx_attrs));
nb = argconfig_parse_comma_sep_array(cfg.blocks, nlbs, ARRAY_SIZE(nlbs));
nvme_init_dsm_range(dsm, (__u32 *)ctx_attrs, (__u32 *)nlbs, (__u64 *)slbas, nr);
err = nvme_dsm(fd, cfg.namespace_id, cfg.cdw11, nr, dsm);
- nvme_show_status("data-set management", err);
+ nvme_show_status("data-set-management", err);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
if (!cfg.namespace_id) {
err = nvme_get_nsid(fd, &cfg.namespace_id);
nvme_show_status("flush", err);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
if (!cfg.namespace_id) {
err = nvme_get_nsid(fd, &cfg.namespace_id);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
if (!cfg.namespace_id) {
err = nvme_get_nsid(fd, &cfg.namespace_id);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
if (!cfg.namespace_id) {
err = nvme_get_nsid(fd, &cfg.namespace_id);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
free(status);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
{
int mode = S_IRUSR | S_IWUSR |S_IRGRP | S_IWGRP| S_IROTH;
int flags = opcode & 1 ? O_RDONLY : O_WRONLY | O_CREAT;
- int dfd, mfd, fd, err, phys_sector_size;
+ int dfd, mfd, fd, phys_sector_size, err = -1;
struct timeval start_time, end_time;
void *buffer, *mbuffer = NULL;
unsigned buffer_size = 0;
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
if (!cfg.namespace_id) {
err = nvme_get_nsid(fd, &cfg.namespace_id);
perror("get-namespace-id");
goto close_fd;
}
+ err = -1;
}
dfd = mfd = opcode & 1 ? STDIN_FILENO : STDOUT_FILENO;
if (cfg.prinfo > 0xf) {
- err = -EINVAL;
+ errno = EINVAL;
goto close_fd;
}
if (cfg.dtype > 0xf) {
fprintf(stderr, "Invalid directive type, %x\n",
cfg.dtype);
- err = -EINVAL;
+ errno = EINVAL;
goto close_fd;
}
control |= cfg.dtype << 4;
dfd = open(cfg.data, flags, mode);
if (dfd < 0) {
perror(cfg.data);
- err = -EINVAL;
goto close_fd;
}
mfd = dfd;
mfd = open(cfg.metadata, flags, mode);
if (mfd < 0) {
perror(cfg.metadata);
- err = -EINVAL;
goto close_dfd;
}
}
if (!cfg.data_size) {
fprintf(stderr, "data size not provided\n");
- err = -EINVAL;
+ errno = EINVAL;
goto close_mfd;
}
buffer = nvme_alloc(buffer_size, &huge);
if (!buffer) {
fprintf(stderr, "can not allocate io payload\n");
- err = -1;
goto close_mfd;
}
memset(buffer, 0, buffer_size);
if (!mbuffer) {
fprintf(stderr, "can not allocate io metadata "
"payload: %s\n", strerror(errno));
- err = -1;
goto free_buffer;
}
memset(mbuffer, 0, cfg.metadata_size);
if ((opcode & 1)) {
err = read(dfd, (void *)buffer, cfg.data_size);
if (err < 0) {
- err = -errno;
- fprintf(stderr, "failed to read data buffer from input"
- " file %s\n", strerror(errno));
+ perror("read-data");
goto free_mbuffer;
}
}
if ((opcode & 1) && cfg.metadata_size) {
err = read(mfd, (void *)mbuffer, cfg.metadata_size);
if (err < 0) {
- err = -errno;
- fprintf(stderr, "failed to read meta-data buffer from"
- " input file %s\n", strerror(errno));
+ perror("read-metadata");
goto free_mbuffer;
}
}
if (cfg.latency)
printf(" latency: %s: %llu us\n", command,
elapsed_utime(start_time, end_time));
- if (err)
- nvme_show_status("submit-io", err);
- else {
- if (!(opcode & 1) && write(dfd, (void *)buffer, cfg.data_size) < 0) {
- fprintf(stderr, "write: %s: failed to write buffer to output file\n",
- strerror(errno));
- err = -EINVAL;
- } else if (!(opcode & 1) && cfg.metadata_size &&
- write(mfd, (void *)mbuffer, cfg.metadata_size) < 0) {
- fprintf(stderr, "write: %s: failed to write meta-data buffer to output file\n",
- strerror(errno));
- err = -EINVAL;
+ if (!err) {
+ if (!(opcode & 1)) {
+ err = write(dfd, (void *)buffer, cfg.data_size);
+ if (err < 0)
+ perror("write-data");
+ else if (cfg.metadata_size) {
+ err = write(mfd, (void *)mbuffer, cfg.metadata_size);
+ if (err < 0)
+ perror("write-metadata");
+ }
} else
fprintf(stderr, "%s: Success\n", command);
- }
+ } else
+ nvme_show_status("submit-io", err);
free_mbuffer:
if (cfg.metadata_size)
close(dfd);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto err;
+ return errno;
if (cfg.prinfo > 0xf) {
err = EINVAL;
close_fd:
close(fd);
-err:
return err;
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
if (cfg.size) {
if (posix_memalign(&sec_buf, getpagesize(), cfg.size)) {
free(sec_buf);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto err;
+ return errno;
err = flags = validate_output_format(cfg.output_format);
if (flags < 0)
free(lbas);
close_fd:
close(fd);
-err:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
if (cfg.raw_binary)
flags = 0;
free(buf);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}
OPT_END()
};
- err = fd = parse_and_open(argc, argv, desc, opts);
+ fd = parse_and_open(argc, argv, desc, opts);
if (fd < 0)
- goto ret;
+ return errno;
if (cfg.input_file) {
wfd = open(cfg.input_file, O_RDONLY,
close(wfd);
close_fd:
close(fd);
-ret:
return nvme_status_to_errno(err, false);
}