diff --git a/nvme-wrap.c b/nvme-wrap.c index 9013ddc579..2a18d4df1a 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 5005af62ab..67807b03de 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 c20a2138a7..29829d1057 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)