From 9d6d19c596f5de0ff925c728b117f404466d8d22 Mon Sep 17 00:00:00 2001 From: Tokunori Ikegami Date: Thu, 11 Apr 2024 01:13:14 +0900 Subject: [PATCH] nvme: Add support for delete-ns command timeout option Change to pass the timeout value to libnvme API. Signed-off-by: Tokunori Ikegami --- nvme-wrap.c | 5 ++++- nvme-wrap.h | 2 +- nvme.c | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nvme-wrap.c b/nvme-wrap.c index 9013ddc5..2a18d4df 100644 --- a/nvme-wrap.c +++ b/nvme-wrap.c @@ -119,8 +119,11 @@ int nvme_cli_get_features(struct nvme_dev *dev, return do_admin_args_op(get_features, dev, args); } -int nvme_cli_ns_mgmt_delete(struct nvme_dev *dev, __u32 nsid) +int nvme_cli_ns_mgmt_delete(struct nvme_dev *dev, __u32 nsid, __u32 timeout) { + if (dev->type == NVME_DEV_DIRECT) + return nvme_ns_mgmt_delete_timeout(dev_fd(dev), nsid, timeout); + return do_admin_op(ns_mgmt_delete, dev, nsid); } diff --git a/nvme-wrap.h b/nvme-wrap.h index 5005af62..67807b03 100644 --- a/nvme-wrap.h +++ b/nvme-wrap.h @@ -30,7 +30,7 @@ int nvme_cli_identify_primary_ctrl(struct nvme_dev *dev, __u16 cntid, struct nvme_primary_ctrl_cap *cap); int nvme_cli_identify_secondary_ctrl_list(struct nvme_dev *dev, __u16 cntid, struct nvme_secondary_ctrl_list *sc_list); -int nvme_cli_ns_mgmt_delete(struct nvme_dev *dev, __u32 nsid); +int nvme_cli_ns_mgmt_delete(struct nvme_dev *dev, __u32 nsid, __u32 timeout); int nvme_cli_ns_mgmt_create(struct nvme_dev *dev, struct nvme_ns_mgmt_host_sw_specified *data, __u32 *nsid, __u32 timeout, __u8 csi); diff --git a/nvme.c b/nvme.c index c20a2138..29829d10 100644 --- a/nvme.c +++ b/nvme.c @@ -2811,7 +2811,7 @@ static int delete_ns(int argc, char **argv, struct command *cmd, struct plugin * } } - err = nvme_cli_ns_mgmt_delete(dev, cfg.namespace_id); + err = nvme_cli_ns_mgmt_delete(dev, cfg.namespace_id, nvme_cfg.timeout); if (!err) printf("%s: Success, deleted nsid:%d\n", cmd->name, cfg.namespace_id); else if (err > 0) -- 2.50.1