From 7c483bcd6de0dd4ea218716b47888a9973f8fe1c Mon Sep 17 00:00:00 2001 From: Caleb Sander Date: Thu, 14 Sep 2023 19:22:58 -0600 Subject: [PATCH] ioctl: implement nvme_set_features_lba_range() nvme_set_features_lba_range() was missing an implementation, so add one. Change nr_ranges to a u8 since its maximum value is 64. Signed-off-by: Caleb Sander --- src/nvme/ioctl.c | 6 ++++-- src/nvme/ioctl.h | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/nvme/ioctl.c b/src/nvme/ioctl.c index e75fd318..14d186a7 100644 --- a/src/nvme/ioctl.c +++ b/src/nvme/ioctl.c @@ -591,10 +591,12 @@ int nvme_set_features_power_mgmt(int fd, __u8 ps, __u8 wh, bool save, result); } -int nvme_set_features_lba_range(int fd, __u32 nsid, __u32 nr_ranges, bool save, +int nvme_set_features_lba_range(int fd, __u32 nsid, __u8 nr_ranges, bool save, struct nvme_lba_range_type *data, __u32 *result) { - return -1; + return nvme_set_features_data( + fd, NVME_FEAT_FID_LBA_RANGE, nsid, nr_ranges - 1, save, + sizeof(*data), data, result); } int nvme_set_features_temp_thresh(int fd, __u16 tmpth, __u8 tmpsel, diff --git a/src/nvme/ioctl.h b/src/nvme/ioctl.h index 2570668e..97280cb7 100644 --- a/src/nvme/ioctl.h +++ b/src/nvme/ioctl.h @@ -2240,7 +2240,7 @@ int nvme_set_features_power_mgmt(int fd, __u8 ps, __u8 wh, bool save, * Return: The nvme command status if a response was received (see * &enum nvme_status_field) or -1 with errno set otherwise. */ -int nvme_set_features_lba_range(int fd, __u32 nsid, __u32 nr_ranges, bool save, +int nvme_set_features_lba_range(int fd, __u32 nsid, __u8 nr_ranges, bool save, struct nvme_lba_range_type *data, __u32 *result); /** -- 2.50.1