Skip to content

Commit dda4e60

Browse files
MaisenbacherDigaw
authored andcommitted
src: rework nvme_resv_release commands
libnvme changed the API for the nvme_resv_release commands. Update the callsite accordingly Signed-off-by: Dennis Maisenbacher <[email protected]>
1 parent 64a5691 commit dda4e60

1 file changed

Lines changed: 16 additions & 22 deletions

File tree

nvme.c

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -7814,33 +7814,35 @@ static int resv_release(int argc, char **argv, struct command *acmd, struct plug
78147814
"the issuing controller are notified.";
78157815
const char *rrela = "reservation release action";
78167816

7817-
_cleanup_nvme_global_ctx_ struct nvme_global_ctx *ctx = NULL;
78187817
_cleanup_nvme_transport_handle_ struct nvme_transport_handle *hdl = NULL;
7819-
int err;
7818+
_cleanup_nvme_global_ctx_ struct nvme_global_ctx *ctx = NULL;
7819+
struct nvme_passthru_cmd cmd;
78207820
nvme_print_flags_t flags;
7821+
__le64 payload[1];
7822+
int err;
78217823

78227824
struct config {
7823-
__u32 namespace_id;
7825+
__u32 nsid;
78247826
__u64 crkey;
78257827
__u8 rtype;
78267828
__u8 rrela;
78277829
__u8 iekey;
78287830
};
78297831

78307832
struct config cfg = {
7831-
.namespace_id = 0,
7833+
.nsid = 0,
78327834
.crkey = 0,
78337835
.rtype = 0,
78347836
.rrela = 0,
78357837
.iekey = 0,
78367838
};
78377839

78387840
NVME_ARGS(opts,
7839-
OPT_UINT("namespace-id", 'n', &cfg.namespace_id, namespace_desired),
7840-
OPT_SUFFIX("crkey", 'c', &cfg.crkey, crkey),
7841-
OPT_BYTE("rtype", 't', &cfg.rtype, rtype),
7842-
OPT_BYTE("rrela", 'a', &cfg.rrela, rrela),
7843-
OPT_FLAG("iekey", 'i', &cfg.iekey, iekey));
7841+
OPT_UINT("namespace-id", 'n', &cfg.nsid, namespace_desired),
7842+
OPT_SUFFIX("crkey", 'c', &cfg.crkey, crkey),
7843+
OPT_BYTE("rtype", 't', &cfg.rtype, rtype),
7844+
OPT_BYTE("rrela", 'a', &cfg.rrela, rrela),
7845+
OPT_FLAG("iekey", 'i', &cfg.iekey, iekey));
78447846

78457847
err = parse_and_open(&ctx, &hdl, argc, argv, desc, opts);
78467848
if (err)
@@ -7852,8 +7854,8 @@ static int resv_release(int argc, char **argv, struct command *acmd, struct plug
78527854
return err;
78537855
}
78547856

7855-
if (!cfg.namespace_id) {
7856-
err = nvme_get_nsid(hdl, &cfg.namespace_id);
7857+
if (!cfg.nsid) {
7858+
err = nvme_get_nsid(hdl, &cfg.nsid);
78577859
if (err < 0) {
78587860
nvme_show_error("get-namespace-id: %s", nvme_strerror(-err));
78597861
return err;
@@ -7864,17 +7866,9 @@ static int resv_release(int argc, char **argv, struct command *acmd, struct plug
78647866
return -EINVAL;
78657867
}
78667868

7867-
struct nvme_resv_release_args args = {
7868-
.args_size = sizeof(args),
7869-
.nsid = cfg.namespace_id,
7870-
.rtype = cfg.rtype,
7871-
.rrela = cfg.rrela,
7872-
.iekey = !!cfg.iekey,
7873-
.crkey = cfg.crkey,
7874-
.timeout = nvme_cfg.timeout,
7875-
.result = NULL,
7876-
};
7877-
err = nvme_resv_release(hdl, &args);
7869+
nvme_init_resv_release(&cmd, cfg.nsid, cfg.rrela, cfg.iekey, false,
7870+
cfg.rtype, cfg.crkey, payload);
7871+
err = nvme_submit_io_passthru(hdl, &cmd, NULL);
78787872
if (err < 0)
78797873
nvme_show_error("reservation release: %s", nvme_strerror(-err));
78807874
else if (err != 0)

0 commit comments

Comments
 (0)