};
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
+
err = nvme_intel_smart_log(fd, cfg.namespace_id, &smart_log);
if (!err) {
if (!cfg.raw_binary)
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
+
if (!cfg.log_entries) {
fprintf(stderr, "non-zero log-entries is required param\n");
return EINVAL;
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
err = nvme_fw_log(fd, &fw_log);
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
if (!cfg.log_len) {
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
if (posix_memalign((void *)&cntlist, getpagesize(), 0x1000))
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
err = nvme_identify_ns_list(fd, cfg.namespace_id, !!cfg.all, ns_list);
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
+
if (!cfg.namespace_id) {
fprintf(stderr, "%s: namespace-id parameter required\n",
commands[DELETE_NS].name);
{
char *name = commands[attach ? ATTACH_NS : DETACH_NS].name;
int err, num, i, list[2048];
- __u16 ctrlist[2048];
+ __le16 ctrlist[2048];
const char *namespace_id = "namespace to attach";
const char *cont = "optional comma-sep controllers list";
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
+
if (!cfg.namespace_id) {
fprintf(stderr, "%s: namespace-id parameter required\n",
name);
return EINVAL;
}
+
num = argconfig_parse_comma_sep_array(cfg.cntlist,
list, 2047);
for (i = 0; i < num; i++)
- ctrlist[i] = ((uint16_t)list[i]);
-
+ ctrlist[i] = htole16(((uint16_t)list[i]));
if (attach)
err = nvme_ns_attach_ctrls(fd, cfg.namespace_id, num, ctrlist);
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
err = nvme_ns_create(fd, cfg.nsze, cfg.ncap, cfg.flbas, cfg.dps, cfg.nmic, &nsid);
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
+
if (cfg.vendor_specific)
flags |= VS;
if (cfg.human_readable)
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
+
if (cfg.vendor_specific)
flags |= VS;
if (cfg.human_readable)
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
if (cfg.sel > 7) {
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
fw_fd = open(cfg.fw, O_RDONLY);
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
if (cfg.slot > 7) {
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
+
/* ses & pi checks set to 7 for forward-compatibility */
if (cfg.ses > 7) {
fprintf(stderr, "invalid secure erase settings:%d\n", cfg.ses);
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
+
sec_fd = open(cfg.file, O_RDONLY);
if (sec_fd < 0) {
fprintf(stderr, "no firmware file provided\n");
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
+
if (!cfg.namespace_id) {
cfg.namespace_id = nvme_get_nsid(fd);
if (cfg.namespace_id <= 0) {
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
if (cfg.prinfo > 0xf)
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
+
nc = argconfig_parse_comma_sep_array(cfg.ctx_attrs, ctx_attrs, array_len(ctx_attrs));
nb = argconfig_parse_comma_sep_array(cfg.blocks, nlbs, array_len(nlbs));
ns = argconfig_parse_comma_sep_array_long(cfg.slbas, slbas, array_len(slbas));
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
err = nvme_flush(fd, cfg.namespace_id);
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
if (!cfg.namespace_id) {
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
if (!cfg.namespace_id) {
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
if (!cfg.namespace_id) {
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
if (!cfg.namespace_id) {
{0}
};
- dfd = mfd = opcode & 1 ? STDIN_FILENO : STDOUT_FILENO;
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
+
+ dfd = mfd = opcode & 1 ? STDIN_FILENO : STDOUT_FILENO;
if (cfg.prinfo > 0xf)
return EINVAL;
control |= (cfg.prinfo << 10);
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
if (cfg.size) {
{0}
};
-
parse_and_open(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
+
if (strlen(cfg.input_file)){
wfd = open(cfg.input_file, O_RDONLY,
S_IRUSR | S_IRGRP | S_IROTH);