size_t total_size;
__u8 *data_ptr = NULL;
int data_written = 0, data_remaining = 0;
+ nvme_print_flags_t flags;
struct config {
char *file_name;
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
if (!cfg.file_name) {
nvme_show_error("Please provide an output file!");
return -EINVAL;
_cleanup_nvme_dev_ struct nvme_dev *dev = NULL;
_cleanup_free_ unsigned char *log = NULL;
int err;
+ nvme_print_flags_t flags;
struct config {
__u32 namespace_id;
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
if (cfg.aen) {
cfg.log_len = 4096;
cfg.log_id = (cfg.aen >> 16) & 0xff;
_cleanup_nvme_dev_ struct nvme_dev *dev = NULL;
int err;
+ nvme_print_flags_t flags;
struct config {
__u32 namespace_id;
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
if (!cfg.namespace_id) {
err = nvme_get_nsid(dev_fd(dev), &cfg.namespace_id);
if (err < 0) {
_cleanup_nvme_dev_ struct nvme_dev *dev = NULL;
int err, num;
__u16 list[NVME_ID_CTRL_LIST_MAX];
+ nvme_print_flags_t flags;
const char *namespace_id = "namespace to attach";
const char *cont = "optional comma-sep controller id list";
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
if (is_blkdev(dev)) {
nvme_show_error("%s: a block device opened (dev: %s, nsid: %d)", cmd->name,
dev->name, cfg.namespace_id);
_cleanup_free_ struct nvme_id_ns_granularity_list *gr_list = NULL;
__u32 align_nsze = 1 << 20; /* Default 1 MiB */
__u32 align_ncap = align_nsze;
+ nvme_print_flags_t flags;
struct config {
__u64 nsze;
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
if (cfg.flbas != 0xff && cfg.bs != 0x00) {
nvme_show_error(
"Invalid specification of both FLBAS and Block Size, please specify only one");
_cleanup_free_ struct nvme_id_iocs *iocs = NULL;
_cleanup_nvme_dev_ struct nvme_dev *dev = NULL;
int err;
+ nvme_print_flags_t flags;
struct config {
__u16 cntid;
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
iocs = nvme_alloc(sizeof(*iocs));
if (!iocs)
return -ENOMEM;
_cleanup_nvme_dev_ struct nvme_dev *dev = NULL;
unsigned int nsid;
int err;
+ nvme_print_flags_t flags;
NVME_ARGS(opts);
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
err = nvme_get_nsid(dev_fd(dev), &nsid);
if (err < 0) {
nvme_show_error("get namespace ID: %s", nvme_strerror(errno));
_cleanup_nvme_dev_ struct nvme_dev *dev = NULL;
int err;
+ nvme_print_flags_t flags;
struct config {
__u32 namespace_id;
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
if (cfg.stc == NVME_ST_CODE_RESERVED) {
_cleanup_free_ struct nvme_self_test_log *log = NULL;
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
if (!argconfig_parse_seen(opts, "namespace-id")) {
err = nvme_get_nsid(dev_fd(dev), &cfg.namespace_id);
if (err < 0) {
struct stat sb;
void *fw_buf;
struct nvme_id_ctrl ctrl = { 0 };
+ nvme_print_flags_t flags;
struct config {
char *fw;
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
fw_fd = open(cfg.fw, O_RDONLY);
cfg.offset <<= 2;
if (fw_fd < 0) {
_cleanup_nvme_dev_ struct nvme_dev *dev = NULL;
__u32 result;
int err;
+ nvme_print_flags_t flags;
struct config {
__u8 slot;
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
if (cfg.slot > 7) {
nvme_show_error("invalid slot:%d", cfg.slot);
return -EINVAL;
_cleanup_nvme_dev_ struct nvme_dev *dev = NULL;
int err;
+ nvme_print_flags_t flags;
NVME_ARGS(opts);
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
err = nvme_ns_rescan(dev_fd(dev));
if (err < 0)
nvme_show_error("Namespace Rescan: %s\n", nvme_strerror(errno));
_cleanup_nvme_dev_ struct nvme_dev *dev = NULL;
int err;
+ nvme_print_flags_t flags;
struct config {
bool no_dealloc;
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
switch (cfg.sanact) {
case NVME_SANITIZE_SANACT_EXIT_FAILURE:
case NVME_SANITIZE_SANACT_START_BLOCK_ERASE:
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
if (cfg.offset == -1) {
nvme_show_error("offset required param");
return -EINVAL;
_cleanup_nvme_dev_ struct nvme_dev *dev = NULL;
int err;
+ nvme_print_flags_t flags;
struct set_reg_config cfg = {
.offset = -1,
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
if (cfg.offset == -1) {
nvme_show_error("offset required param");
return -EINVAL;
_cleanup_fd_ int ffd = STDIN_FILENO;
int err;
__u32 result;
+ nvme_print_flags_t flags;
struct config {
__u32 namespace_id;
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
if (!argconfig_parse_seen(opts, "namespace-id")) {
err = nvme_get_nsid(dev_fd(dev), &cfg.namespace_id);
if (err < 0) {
_cleanup_fd_ int sec_fd = -1;
unsigned int sec_size;
int err;
+ nvme_print_flags_t flags;
struct config {
__u32 namespace_id;
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
if (cfg.tl == 0) {
nvme_show_error("--tl unspecified or zero");
return -EINVAL;
__u32 nlbs[256] = {0,};
__u64 slbas[256] = {0,};
int err;
+ nvme_print_flags_t flags;
struct config {
__u32 namespace_id;
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
nc = argconfig_parse_comma_sep_array_u32(cfg.ctx_attrs, ctx_attrs, ARRAY_SIZE(ctx_attrs));
nb = argconfig_parse_comma_sep_array_u32(cfg.blocks, nlbs, ARRAY_SIZE(nlbs));
ns = argconfig_parse_comma_sep_array_u64(cfg.slbas, slbas, ARRAY_SIZE(slbas));
_cleanup_nvme_dev_ struct nvme_dev *dev = NULL;
int err;
+ nvme_print_flags_t flags;
struct config {
__u32 namespace_id;
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
if (!cfg.namespace_id) {
err = nvme_get_nsid(dev_fd(dev), &cfg.namespace_id);
if (err < 0) {
_cleanup_nvme_dev_ struct nvme_dev *dev = NULL;
int err;
+ nvme_print_flags_t flags;
struct config {
__u32 namespace_id;
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
if (!cfg.namespace_id) {
err = nvme_get_nsid(dev_fd(dev), &cfg.namespace_id);
if (err < 0) {
_cleanup_nvme_dev_ struct nvme_dev *dev = NULL;
int err;
+ nvme_print_flags_t flags;
struct config {
__u32 namespace_id;
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
if (!cfg.namespace_id) {
err = nvme_get_nsid(dev_fd(dev), &cfg.namespace_id);
if (err < 0) {
_cleanup_nvme_dev_ struct nvme_dev *dev = NULL;
_cleanup_free_ void *sec_buf = NULL;
int err;
+ nvme_print_flags_t flags;
struct config {
__u32 namespace_id;
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
if (cfg.size) {
sec_buf = nvme_alloc(cfg.size);
if (!sec_buf)
_cleanup_nvme_dev_ struct nvme_dev *dev = NULL;
int err = -1;
__u32 result;
+ nvme_print_flags_t flags;
struct config {
__u8 operation;
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
if (cfg.operation > 0xf) {
nvme_show_error("invalid operation field: %u", cfg.operation);
return -1;
__u32 result;
const char *cmd_name = NULL;
struct timeval start_time, end_time;
+ nvme_print_flags_t flags_t;
struct passthru_config cfg = {
.opcode = 0,
if (err)
return err;
+ err = validate_output_format(nvme_cfg.output_format, &flags_t);
+ if (err < 0) {
+ nvme_show_error("Invalid output format");
+ return err;
+ }
+
if (cfg.opcode & 0x01) {
cfg.write = true;
flags = O_RDONLY;