Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions nvme-wrap.c
Original file line number Diff line number Diff line change
Expand Up @@ -119,11 +119,37 @@ int nvme_cli_get_features(struct nvme_dev *dev,
return do_admin_args_op(get_features, dev, args);
}

int nvme_cli_get_features_arbitration(struct nvme_dev *dev, enum nvme_get_features_sel sel,
__u32 *result)
{
return do_admin_op(get_features_arbitration, dev, sel, result);
}

int nvme_cli_get_features_power_mgmt(struct nvme_dev *dev, enum nvme_get_features_sel sel,
__u32 *result)
{
return do_admin_op(get_features_power_mgmt, dev, sel, result);
}

int nvme_cli_set_features(struct nvme_dev *dev, struct nvme_set_features_args *args)
{
return do_admin_args_op(set_features, dev, args);
}

int nvme_cli_set_features_arbitration(struct nvme_dev *dev, __u8 ab, __u8 lpw, __u8 mpw, __u8 hpw,
bool save, __u32 *result)
{
if (dev->type == NVME_DEV_DIRECT)
return nvme_set_features_arbitration(dev_fd(dev), ab, lpw, mpw, hpw, save, result);

return -ENODEV;
}

int nvme_cli_features_power_mgmt(struct nvme_dev *dev, __u8 ps, __u8 wh, bool save, __u32 *result)
{
return do_admin_op(set_features_power_mgmt, dev, ps, wh, save, result);
}

int nvme_cli_ns_mgmt_delete(struct nvme_dev *dev, __u32 nsid, __u32 timeout)
{
if (dev->type == NVME_DEV_DIRECT)
Expand Down
8 changes: 7 additions & 1 deletion nvme-wrap.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,14 @@ int nvme_cli_sanitize_nvm(struct nvme_dev *dev,

int nvme_cli_get_features(struct nvme_dev *dev,
struct nvme_get_features_args *args);

int nvme_cli_get_features_arbitration(struct nvme_dev *dev, enum nvme_get_features_sel sel,
__u32 *result);
int nvme_cli_get_features_power_mgmt(struct nvme_dev *dev, enum nvme_get_features_sel sel,
__u32 *result);
int nvme_cli_set_features(struct nvme_dev *dev, struct nvme_set_features_args *args);
int nvme_cli_set_features_arbitration(struct nvme_dev *dev, __u8 ab, __u8 lpw, __u8 mpw, __u8 hpw,
bool save, __u32 *result);
int nvme_set_features_power_mgmt(int fd, __u8 ps, __u8 wh, bool save, __u32 *result);

int nvme_cli_get_log(struct nvme_dev *dev, struct nvme_get_log_args *args);
int nvme_cli_get_log_page(struct nvme_dev *dev,
Expand Down
2 changes: 1 addition & 1 deletion subprojects/libnvme.wrap
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[wrap-git]
url = https://github.com/linux-nvme/libnvme.git
revision = 846d61ca17b4752d48bfcf7377b79f4d4ebd4282
revision = b24390412697c7ef50c965d339592416dfc3b87e

[provide]
libnvme = libnvme_dep
Expand Down