From: Jeremy Kerr Date: Thu, 14 Jul 2022 07:44:05 +0000 (+0800) Subject: nvme: Add wrappers for basic NS identify X-Git-Tag: v2.2~48^2~6 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=13a1974be0cf1ef5033f6c63c271ed93e43114c2;p=users%2Fsagi%2Fnvme-cli.git nvme: Add wrappers for basic NS identify Signed-off-by: Jeremy Kerr --- diff --git a/nvme-wrap.c b/nvme-wrap.c index a3bf8697..6ef7da46 100644 --- a/nvme-wrap.c +++ b/nvme-wrap.c @@ -58,6 +58,30 @@ int nvme_cli_identify_ctrl(struct nvme_dev *dev, struct nvme_id_ctrl *ctrl) return do_admin_op(identify_ctrl, dev, ctrl); } +int nvme_cli_identify_ns(struct nvme_dev *dev, __u32 nsid, + struct nvme_id_ns *ns) +{ + return do_admin_op(identify_ns, dev, nsid, ns); +} + +int nvme_cli_identify_allocated_ns(struct nvme_dev *dev, __u32 nsid, + struct nvme_id_ns *ns) +{ + return do_admin_op(identify_allocated_ns, dev, nsid, ns); +} + +int nvme_cli_identify_active_ns_list(struct nvme_dev *dev, __u32 nsid, + struct nvme_ns_list *list) +{ + return do_admin_op(identify_active_ns_list, dev, nsid, list); +} + +int nvme_cli_identify_allocated_ns_list(struct nvme_dev *dev, __u32 nsid, + struct nvme_ns_list *list) +{ + return do_admin_op(identify_allocated_ns_list, dev, nsid, list); +} + int nvme_cli_get_features(struct nvme_dev *dev, struct nvme_get_features_args *args) { diff --git a/nvme-wrap.h b/nvme-wrap.h index 31e2b919..93da48aa 100644 --- a/nvme-wrap.h +++ b/nvme-wrap.h @@ -11,6 +11,14 @@ int nvme_cli_identify(struct nvme_dev *dev, struct nvme_identify_args *args); int nvme_cli_identify_ctrl(struct nvme_dev *dev, struct nvme_id_ctrl *ctrl); +int nvme_cli_identify_ns(struct nvme_dev *dev, __u32 nsid, + struct nvme_id_ns *ns); +int nvme_cli_identify_allocated_ns(struct nvme_dev *dev, __u32 nsid, + struct nvme_id_ns *ns); +int nvme_cli_identify_active_ns_list(struct nvme_dev *dev, __u32 nsid, + struct nvme_ns_list *list); +int nvme_cli_identify_allocated_ns_list(struct nvme_dev *dev, __u32 nsid, + struct nvme_ns_list *list); int nvme_cli_get_features(struct nvme_dev *dev, struct nvme_get_features_args *args); diff --git a/nvme.c b/nvme.c index bdd990cd..66baa0c3 100644 --- a/nvme.c +++ b/nvme.c @@ -2581,7 +2581,7 @@ static int create_ns(int argc, char **argv, struct command *cmd, struct plugin * err = -EINVAL; goto close_dev; } - err = nvme_identify_ns(dev_fd(dev), NVME_NSID_ALL, &ns); + err = nvme_cli_identify_ns(dev, NVME_NSID_ALL, &ns); if (err) { if (err < 0) fprintf(stderr, "identify-namespace: %s", @@ -2985,7 +2985,7 @@ static int nvm_id_ns(int argc, char **argv, struct command *cmd, } } - err = nvme_identify_ns(dev_fd(dev), cfg.namespace_id, &ns); + err = nvme_cli_identify_ns(dev, cfg.namespace_id, &ns); if (err) { nvme_show_status(err); goto close_dev; @@ -3055,7 +3055,7 @@ static int nvm_id_ns_lba_format(int argc, char **argv, struct command *cmd, stru if (cfg.verbose) flags |= VERBOSE; - err = nvme_identify_ns(dev_fd(dev), NVME_NSID_ALL, &ns); + err = nvme_cli_identify_ns(dev, NVME_NSID_ALL, &ns); if (err) { ns.nlbaf = NVME_FEAT_LBA_RANGE_MAX - 1; ns.nulbaf = 0; @@ -3212,10 +3212,10 @@ static int id_ns(int argc, char **argv, struct command *cmd, struct plugin *plug } if (cfg.force) - err = nvme_identify_allocated_ns(dev_fd(dev), - cfg.namespace_id, &ns); + err = nvme_cli_identify_allocated_ns(dev, + cfg.namespace_id, &ns); else - err = nvme_identify_ns(dev_fd(dev), cfg.namespace_id, &ns); + err = nvme_cli_identify_ns(dev, cfg.namespace_id, &ns); if (!err) nvme_show_id_ns(&ns, cfg.namespace_id, 0, false, flags); @@ -4914,7 +4914,7 @@ static int format(int argc, char **argv, struct command *cmd, struct plugin *plu } if (cfg.namespace_id != NVME_NSID_ALL) { - err = nvme_identify_ns(dev_fd(dev), cfg.namespace_id, &ns); + err = nvme_cli_identify_ns(dev, cfg.namespace_id, &ns); if (err) { if (err < 0) fprintf(stderr, "identify-namespace: %s\n", nvme_strerror(errno)); @@ -5718,7 +5718,7 @@ static int write_zeroes(int argc, char **argv, struct command *cmd, struct plugi } } - err = nvme_identify_ns(dev_fd(dev), cfg.namespace_id, &ns); + err = nvme_cli_identify_ns(dev, cfg.namespace_id, &ns); if (err) { nvme_show_status(err); goto close_dev; @@ -6695,7 +6695,7 @@ static int submit_io(int opcode, char *command, const char *desc, } if (cfg.metadata_size) { - err = nvme_identify_ns(dev_fd(dev), cfg.namespace_id, &ns); + err = nvme_cli_identify_ns(dev, cfg.namespace_id, &ns); if (err > 0) { nvme_show_status(err); goto free_buffer; @@ -6950,7 +6950,7 @@ static int verify_cmd(int argc, char **argv, struct command *cmd, struct plugin } } - err = nvme_identify_ns(dev_fd(dev), cfg.namespace_id, &ns); + err = nvme_cli_identify_ns(dev, cfg.namespace_id, &ns); if (err) { nvme_show_status(err); goto close_dev;