}
static int nvme_submit_passthru64(int fd, unsigned long ioctl_cmd,
- struct nvme_passthru_cmd64 *cmd, __u64 *result)
+ struct nvme_passthru_cmd64 *cmd,
+ __u64 *result)
{
int err = ioctl(fd, ioctl_cmd, cmd);
}
static int nvme_submit_passthru(int fd, unsigned long ioctl_cmd,
- struct nvme_passthru_cmd *cmd, __u32 *result)
+ struct nvme_passthru_cmd *cmd, __u32 *result)
{
int err = ioctl(fd, ioctl_cmd, cmd);
}
static int nvme_passthru64(int fd, unsigned long ioctl_cmd, __u8 opcode,
- __u8 flags, __u16 rsvd, __u32 nsid, __u32 cdw2, __u32 cdw3,
- __u32 cdw10, __u32 cdw11, __u32 cdw12, __u32 cdw13,
- __u32 cdw14, __u32 cdw15, __u32 data_len, void *data,
- __u32 metadata_len, void *metadata, __u32 timeout_ms,
- __u64 *result)
+ __u8 flags, __u16 rsvd, __u32 nsid, __u32 cdw2,
+ __u32 cdw3, __u32 cdw10, __u32 cdw11, __u32 cdw12,
+ __u32 cdw13, __u32 cdw14, __u32 cdw15,
+ __u32 data_len, void *data, __u32 metadata_len,
+ void *metadata, __u32 timeout_ms, __u64 *result)
{
struct nvme_passthru_cmd64 cmd = {
.opcode = opcode,
}
static int nvme_passthru(int fd, unsigned long ioctl_cmd, __u8 opcode,
- __u8 flags, __u16 rsvd, __u32 nsid, __u32 cdw2, __u32 cdw3,
- __u32 cdw10, __u32 cdw11, __u32 cdw12, __u32 cdw13,
- __u32 cdw14, __u32 cdw15, __u32 data_len, void *data,
- __u32 metadata_len, void *metadata, __u32 timeout_ms,
- __u32 *result)
+ __u8 flags, __u16 rsvd, __u32 nsid, __u32 cdw2,
+ __u32 cdw3, __u32 cdw10, __u32 cdw11, __u32 cdw12,
+ __u32 cdw13, __u32 cdw14, __u32 cdw15, __u32 data_len,
+ void *data, __u32 metadata_len, void *metadata,
+ __u32 timeout_ms, __u32 *result)
{
struct nvme_passthru_cmd cmd = {
.opcode = opcode,
}
int nvme_admin_passthru64(int fd, __u8 opcode, __u8 flags, __u16 rsvd,
- __u32 nsid, __u32 cdw2, __u32 cdw3, __u32 cdw10, __u32 cdw11,
- __u32 cdw12, __u32 cdw13, __u32 cdw14, __u32 cdw15,
- __u32 data_len, void *data, __u32 metadata_len, void *metadata,
- __u32 timeout_ms, __u64 *result)
+ __u32 nsid, __u32 cdw2, __u32 cdw3, __u32 cdw10,
+ __u32 cdw11, __u32 cdw12, __u32 cdw13, __u32 cdw14,
+ __u32 cdw15, __u32 data_len, void *data,
+ __u32 metadata_len, void *metadata, __u32 timeout_ms,
+ __u64 *result)
{
return nvme_passthru64(fd, NVME_IOCTL_ADMIN64_CMD, opcode, flags, rsvd,
- nsid, cdw2, cdw3, cdw10, cdw11, cdw12, cdw13, cdw14, cdw15,
- data_len, data, metadata_len, metadata, timeout_ms, result);
+ nsid, cdw2, cdw3, cdw10, cdw11, cdw12, cdw13,
+ cdw14, cdw15, data_len, data, metadata_len,
+ metadata, timeout_ms, result);
}
int nvme_submit_admin_passthru(int fd, struct nvme_passthru_cmd *cmd, __u32 *result)
}
int nvme_admin_passthru(int fd, __u8 opcode, __u8 flags, __u16 rsvd,
- __u32 nsid, __u32 cdw2, __u32 cdw3, __u32 cdw10, __u32 cdw11,
- __u32 cdw12, __u32 cdw13, __u32 cdw14, __u32 cdw15,
- __u32 data_len, void *data, __u32 metadata_len, void *metadata,
- __u32 timeout_ms, __u32 *result)
+ __u32 nsid, __u32 cdw2, __u32 cdw3, __u32 cdw10,
+ __u32 cdw11, __u32 cdw12, __u32 cdw13, __u32 cdw14,
+ __u32 cdw15, __u32 data_len, void *data,
+ __u32 metadata_len, void *metadata, __u32 timeout_ms,
+ __u32 *result)
{
- return nvme_passthru(fd, NVME_IOCTL_ADMIN_CMD, opcode, flags, rsvd, nsid,
- cdw2, cdw3, cdw10, cdw11, cdw12, cdw13, cdw14, cdw15, data_len,
- data, metadata_len, metadata, timeout_ms, result);
+ return nvme_passthru(fd, NVME_IOCTL_ADMIN_CMD, opcode, flags, rsvd,
+ nsid, cdw2, cdw3, cdw10, cdw11, cdw12, cdw13,
+ cdw14, cdw15, data_len, data, metadata_len,
+ metadata, timeout_ms, result);
}
enum nvme_cmd_dword_fields {
static int __nvme_identify(int fd, __u8 cns, __u32 nsid, void *data)
{
return nvme_identify(fd, cns, nsid, NVME_CNTLID_NONE,
- NVME_NVMSETID_NONE, NVME_UUID_NONE, data);
+ NVME_NVMSETID_NONE, NVME_UUID_NONE, data);
}
int nvme_identify_ctrl(int fd, struct nvme_id_ctrl *id)
{
BUILD_ASSERT(sizeof(struct nvme_ns_list) == 4096);
return __nvme_identify(fd, NVME_IDENTIFY_CNS_NS_ACTIVE_LIST, nsid,
- list);
+ list);
}
int nvme_identify_allocated_ns_list(int fd, __u32 nsid,
struct nvme_ns_list *list)
{
return __nvme_identify(fd, NVME_IDENTIFY_CNS_ALLOCATED_NS_LIST, nsid,
- list);
+ list);
}
int nvme_identify_ctrl_list(int fd, __u16 cntid,
{
BUILD_ASSERT(sizeof(struct nvme_ctrl_list) == 4096);
return nvme_identify(fd, NVME_IDENTIFY_CNS_CTRL_LIST,
- NVME_NSID_NONE, cntid, NVME_NVMSETID_NONE,
- NVME_UUID_NONE, ctrlist);
+ NVME_NSID_NONE, cntid, NVME_NVMSETID_NONE,
+ NVME_UUID_NONE, ctrlist);
}
int nvme_identify_nsid_ctrl_list(int fd, __u32 nsid, __u16 cntid,
struct nvme_ctrl_list *ctrlist)
{
return nvme_identify(fd, NVME_IDENTIFY_CNS_NS_CTRL_LIST, nsid,
- cntid, NVME_NVMSETID_NONE, NVME_UUID_NONE, ctrlist);
+ cntid, NVME_NVMSETID_NONE, NVME_UUID_NONE,
+ ctrlist);
}
int nvme_identify_ns_descs(int fd, __u32 nsid, struct nvme_ns_id_desc *descs)
{
BUILD_ASSERT(sizeof(struct nvme_id_nvmset_list) == 4096);
return nvme_identify(fd, NVME_IDENTIFY_CNS_NVMSET_LIST,
- NVME_NSID_NONE, NVME_CNTLID_NONE, nvmsetid, NVME_UUID_NONE,
- nvmset);
+ NVME_NSID_NONE, NVME_CNTLID_NONE, nvmsetid,
+ NVME_UUID_NONE, nvmset);
}
int nvme_identify_primary_ctrl(int fd, __u16 cntid,
{
BUILD_ASSERT(sizeof(struct nvme_primary_ctrl_cap) == 4096);
return nvme_identify(fd, NVME_IDENTIFY_CNS_PRIMARY_CTRL_CAP,
- NVME_NSID_NONE, cntid, NVME_NVMSETID_NONE, NVME_UUID_NONE,
- cap);
+ NVME_NSID_NONE, cntid, NVME_NVMSETID_NONE,
+ NVME_UUID_NONE, cap);
}
int nvme_identify_secondary_ctrl_list(int fd, __u16 cntid,
{
BUILD_ASSERT(sizeof(struct nvme_secondary_ctrl_list) == 4096);
return nvme_identify(fd, NVME_IDENTIFY_CNS_SECONDARY_CTRL_LIST,
- NVME_NSID_NONE, cntid, NVME_NVMSETID_NONE, NVME_UUID_NONE,
- list);
+ NVME_NSID_NONE, cntid, NVME_NVMSETID_NONE,
+ NVME_UUID_NONE, list);
}
int nvme_identify_ns_granularity(int fd,
{
BUILD_ASSERT(sizeof(struct nvme_id_ns_granularity_list) == 4096);
return __nvme_identify(fd, NVME_IDENTIFY_CNS_NS_GRANULARITY,
- NVME_NSID_NONE, list);
+ NVME_NSID_NONE, list);
}
int nvme_identify_uuid(int fd, struct nvme_id_uuid_list *list)
{
BUILD_ASSERT(sizeof(struct nvme_id_uuid_list) == 4096);
return __nvme_identify(fd, NVME_IDENTIFY_CNS_UUID_LIST, NVME_NSID_NONE,
- list);
+ list);
}
int nvme_get_log(int fd, enum nvme_cmd_get_log_lid lid, __u32 nsid, __u64 lpo,
return nvme_submit_admin_passthru(fd, &cmd, NULL);
}
-static int __nvme_get_log(int fd, enum nvme_cmd_get_log_lid lid, bool rae,
- __u32 len, void *log)
+static int __nvme_get_log(int fd, enum nvme_cmd_get_log_lid lid, bool rae,
+ __u32 len, void *log)
{
return nvme_get_log(fd, lid, NVME_NSID_ALL, 0, NVME_LOG_LSP_NONE,
- NVME_LOG_LSI_NONE, NVME_UUID_NONE, rae, len, log);
+ NVME_LOG_LSI_NONE, NVME_UUID_NONE, rae, len, log);
}
int nvme_get_log_error(int fd, unsigned nr_entries, bool rae,
{
BUILD_ASSERT(sizeof(struct nvme_error_log_page) == 64);
return __nvme_get_log(fd, NVME_LOG_LID_ERROR, rae,
- sizeof(*log) * nr_entries, log);
+ sizeof(*log) * nr_entries, log);
}
int nvme_get_log_smart(int fd, __u32 nsid, bool rae, struct nvme_smart_log *log)
{
BUILD_ASSERT(sizeof(struct nvme_smart_log) == 512);
return nvme_get_log(fd, NVME_LOG_LID_SMART, nsid, 0,
- NVME_LOG_LSP_NONE, NVME_LOG_LSI_NONE, rae, NVME_UUID_NONE,
- sizeof(*log), log);
+ NVME_LOG_LSP_NONE, NVME_LOG_LSI_NONE, rae,
+ NVME_UUID_NONE, sizeof(*log), log);
}
int nvme_get_log_fw_slot(int fd, bool rae, struct nvme_firmware_slot *log)
{
BUILD_ASSERT(sizeof(struct nvme_firmware_slot) == 512);
return __nvme_get_log(fd, NVME_LOG_LID_FW_SLOT, rae, sizeof(*log),
- log);
+ log);
}
int nvme_get_log_changed_ns_list(int fd, bool rae, struct nvme_ns_list *log)
{
return __nvme_get_log(fd, NVME_LOG_LID_CHANGED_NS, rae,
- sizeof(*log), log);
+ sizeof(*log), log);
}
int nvme_get_log_cmd_effects(int fd, struct nvme_cmd_effects_log *log)
{
BUILD_ASSERT(sizeof(struct nvme_cmd_effects_log) == 4096);
return __nvme_get_log(fd, NVME_LOG_LID_CMD_EFFECTS, false,
- sizeof(*log), log);
+ sizeof(*log), log);
}
int nvme_get_log_device_self_test(int fd, struct nvme_self_test_log *log)
{
BUILD_ASSERT(sizeof(struct nvme_self_test_log) == 564);
return __nvme_get_log(fd, NVME_LOG_LID_DEVICE_SELF_TEST, false,
- sizeof(*log), log);
+ sizeof(*log), log);
}
enum nvme_cmd_get_log_telemetry_host_lsp {
{
BUILD_ASSERT(sizeof(struct nvme_telemetry_log) == 512);
return nvme_get_log(fd, NVME_LOG_LID_TELEMETRY_HOST, NVME_NSID_NONE, 0,
- NVME_LOG_TELEM_HOST_LSP_CREATE, NVME_LOG_LSI_NONE, false,
- NVME_UUID_NONE, sizeof(*log), log);
+ NVME_LOG_TELEM_HOST_LSP_CREATE, NVME_LOG_LSI_NONE,
+ false, NVME_UUID_NONE, sizeof(*log), log);
}
int nvme_get_log_telemetry_host(int fd, __u64 offset, __u32 len, void *log)
{
return nvme_get_log(fd, NVME_LOG_LID_TELEMETRY_HOST, NVME_NSID_NONE,
- offset, NVME_LOG_TELEM_HOST_LSP_RETAIN, NVME_LOG_LSI_NONE,
- false, NVME_UUID_NONE, len, log);
+ offset, NVME_LOG_TELEM_HOST_LSP_RETAIN,
+ NVME_LOG_LSI_NONE,
+ false, NVME_UUID_NONE, len, log);
}
int nvme_get_log_telemetry_ctrl(int fd, bool rae, __u64 offset, __u32 len,
- void *log)
+ void *log)
{
return nvme_get_log(fd, NVME_LOG_LID_TELEMETRY_CTRL, NVME_NSID_NONE,
- offset, NVME_LOG_LSP_NONE, NVME_LOG_LSI_NONE, rae,
- NVME_UUID_NONE, len, log);
+ offset, NVME_LOG_LSP_NONE, NVME_LOG_LSI_NONE, rae,
+ NVME_UUID_NONE, len, log);
}
int nvme_get_log_endurance_group(int fd, __u16 endgid,
- struct nvme_endurance_group_log *log)
+ struct nvme_endurance_group_log *log)
{
BUILD_ASSERT(sizeof(struct nvme_endurance_group_log) == 512);
return nvme_get_log(fd, NVME_LOG_LID_ENDURANCE_GROUP, NVME_NSID_NONE,
- 0, NVME_LOG_LSP_NONE, endgid, false, NVME_UUID_NONE,
- sizeof(*log), log);
+ 0, NVME_LOG_LSP_NONE, endgid, false, NVME_UUID_NONE,
+ sizeof(*log), log);
}
int nvme_get_log_predictable_lat_nvmset(int fd, __u16 nvmsetid,
{
BUILD_ASSERT(sizeof(struct nvme_nvmset_predictable_lat_log) == 512);
return nvme_get_log(fd, NVME_LOG_LID_PREDICTABLE_LAT_NVMSET,
- NVME_NSID_NONE, 0, NVME_LOG_LSP_NONE, nvmsetid, false,
- NVME_UUID_NONE, sizeof(*log), log);
+ NVME_NSID_NONE, 0, NVME_LOG_LSP_NONE, nvmsetid,
+ false, NVME_UUID_NONE, sizeof(*log), log);
}
int nvme_get_log_predictable_lat_event(int fd, bool rae, __u32 offset,
int nvme_get_log_ana(int fd, enum nvme_log_ana_lsp lsp, bool rae, __u64 offset,
__u32 len, void *log)
{
- return nvme_get_log(fd, NVME_LOG_LID_ANA, NVME_NSID_NONE, offset, lsp,
- NVME_LOG_LSI_NONE, false, NVME_UUID_NONE, len, log);
+ return nvme_get_log(fd, NVME_LOG_LID_ANA, NVME_NSID_NONE, offset,
+ lsp,NVME_LOG_LSI_NONE, false, NVME_UUID_NONE,
+ len, log);
}
int nvme_get_log_ana_groups(int fd, bool rae, __u32 len,
struct nvme_ana_group_desc *log)
{
return nvme_get_log_ana(fd, NVME_LOG_ANA_LSP_RGO_GROUPS_ONLY, rae, 0,
- len, log);
+ len, log);
}
int nvme_get_log_lba_status(int fd, bool rae, __u64 offset, __u32 len,
void *log)
{
return nvme_get_log(fd, NVME_LOG_LID_LBA_STATUS, NVME_NSID_NONE,
- offset, NVME_LOG_LSP_NONE, NVME_LOG_LSI_NONE, rae,
- NVME_UUID_NONE, len, log);
+ offset, NVME_LOG_LSP_NONE, NVME_LOG_LSI_NONE, rae,
+ NVME_UUID_NONE, len, log);
}
int nvme_get_log_endurance_grp_evt(int fd, bool rae, __u32 offset, __u32 len,
void *log)
{
return nvme_get_log(fd, NVME_LOG_LID_ENDURANCE_GRP_EVT,
- NVME_NSID_NONE, offset, NVME_LOG_LSP_NONE, NVME_LOG_LSI_NONE,
- rae, NVME_UUID_NONE, len, log);
+ NVME_NSID_NONE, offset, NVME_LOG_LSP_NONE,
+ NVME_LOG_LSI_NONE, rae, NVME_UUID_NONE, len, log);
}
int nvme_get_log_discovery(int fd, bool rae, __u32 offset, __u32 len, void *log)
{
return nvme_get_log(fd, NVME_LOG_LID_DISCOVER, NVME_NSID_NONE, offset,
- NVME_LOG_LSP_NONE, NVME_LOG_LSI_NONE, rae, NVME_UUID_NONE,
- len, log);
+ NVME_LOG_LSP_NONE, NVME_LOG_LSI_NONE, rae,
+ NVME_UUID_NONE, len, log);
}
int nvme_get_log_reservation(int fd, bool rae,
{
BUILD_ASSERT(sizeof(struct nvme_resv_notification_log) == 64);
return __nvme_get_log(fd, NVME_LOG_LID_RESERVATION, rae,
- sizeof(*log), log);
+ sizeof(*log), log);
}
int nvme_get_log_sanitize(int fd, bool rae,
{
BUILD_ASSERT(sizeof(struct nvme_sanitize_log_page) == 512);
return __nvme_get_log(fd, NVME_LOG_LID_SANITIZE, rae, sizeof(*log),
- log);
+ log);
}
int nvme_set_features(int fd, __u8 fid, __u32 nsid, __u32 cdw11, __u32 cdw12,
DW(hpw, NVME_FEATURES_ARBITRATION_HPW);
return __nvme_set_features(fd, NVME_FEAT_FID_ARBITRATION, value, save,
- result);
+ result);
}
int nvme_set_features_power_mgmt(int fd, __u8 ps, __u8 wh, bool save,
DW(wh, NVME_FEATURES_PWRMGMT_PS);
return __nvme_set_features(fd, NVME_FEAT_FID_POWER_MGMT, value, save,
- result);
+ result);
}
int nvme_set_features_lba_range(int fd, __u32 nsid, __u32 nr_ranges, bool save,
DW(thsel, NVME_FEATURES_THSEL);
return __nvme_set_features(fd, NVME_FEAT_FID_TEMP_THRESH, value, save,
- result);
+ result);
}
int nvme_set_features_err_recovery(int fd, __u32 nsid, __u16 tler, bool dulbe,
DW(!!dulbe, NVME_FEATURES_ERROR_RECOVERY_DULBE);
return __nvme_set_features(fd, NVME_FEAT_FID_ERR_RECOVERY, value, save,
- result);
+ result);
}
int nvme_set_features_volatile_wc(int fd, bool wce, bool save, __u32 *result)
__u32 value = DW(!!wce, NVME_FEATURES_VWC_WCE);
return __nvme_set_features(fd, NVME_FEAT_FID_VOLATILE_WC, value, save,
- result);
+ result);
}
int nvme_set_features_irq_coalesce(int fd, __u8 thr, __u8 time, bool save,
DW(time, NVME_FEATURES_IRQC_THR);
return __nvme_set_features(fd, NVME_FEAT_FID_IRQ_COALESCE, value, save,
- result);
+ result);
}
int nvme_set_features_irq_config(int fd, __u16 iv, bool cd, bool save,
DW(!!cd, NVME_FEATURES_IVC_CD);
return __nvme_set_features(fd, NVME_FEAT_FID_IRQ_CONFIG, value, save,
- result);
+ result);
}
int nvme_set_features_write_atomic(int fd, bool dn, bool save, __u32 *result)
__u32 value = DW(!!dn, NVME_FEATURES_WAN_DN);
return __nvme_set_features(fd, NVME_FEAT_FID_WRITE_ATOMIC, value, save,
- result);
+ result);
}
int nvme_set_features_async_event(int fd, __u32 events,
bool save, __u32 *result)
{
return __nvme_set_features(fd, NVME_FEAT_FID_ASYNC_EVENT, events, save,
- result);
+ result);
}
int nvme_set_features_auto_pst(int fd, bool apste, bool save,
__u32 value = DW(!!apste, NVME_FEATURES_APST_APSTE);
return __nvme_set_features(fd, NVME_FEAT_FID_AUTO_PST, value, save,
- result);
+ result);
}
int nvme_set_features_timestamp(int fd, bool save, __u64 timestamp)
memcpy(&t, ts.timestamp, sizeof(ts.timestamp));
return nvme_set_features(fd, NVME_FEAT_FID_TIMESTAMP,
- NVME_NSID_NONE, 0, 0, save, NVME_UUID_NONE, 0,
- sizeof(ts), &ts, NULL);
+ NVME_NSID_NONE, 0, 0, save, NVME_UUID_NONE, 0,
+ sizeof(ts), &ts, NULL);
}
int nvme_set_features_hctm(int fd, __u16 tmt2, __u16 tmt1,
DW(tmt1, NVME_FEATURES_HCTM_TMT1);
return __nvme_set_features(fd, NVME_FEAT_FID_HCTM, value, save,
- result);
+ result);
}
int nvme_set_features_nopsc(int fd, bool noppme, bool save, __u32 *result)
__u32 value = DW(noppme, NVME_FEATURES_NOPS_NOPPME);
return __nvme_set_features(fd, NVME_FEAT_FID_NOPSC, value, save,
- result);
+ result);
}
int nvme_set_features_rrl(int fd, __u8 rrl, __u16 nvmsetid,
bool save, __u32 *result)
{
return nvme_set_features(fd, NVME_FEAT_FID_RRL, NVME_NSID_NONE,
- nvmsetid, rrl, save, NVME_UUID_NONE, 0, 0, NULL, result);
+ nvmsetid, rrl, save, NVME_UUID_NONE, 0, 0,
+ NULL, result);
}
int nvme_set_features_plm_config(int fd, bool plm, __u16 nvmsetid, bool save,
struct nvme_plm_config *data, __u32 *result)
{
return nvme_set_features(fd, NVME_FEAT_FID_PLM_CONFIG,
- NVME_NSID_NONE, nvmsetid, !!plm, save, NVME_UUID_NONE, 0, 0,
- NULL, result);
+ NVME_NSID_NONE, nvmsetid, !!plm, save,
+ NVME_UUID_NONE, 0, 0, NULL, result);
}
int nvme_set_features_plm_window(int fd, enum nvme_feat_plm_window_select sel,
__u32 cdw12 = DW(sel, NVME_FEATURES_PLM_WINDOW_SELECT);
return nvme_set_features(fd, NVME_FEAT_FID_PLM_WINDOW, NVME_NSID_NONE,
- nvmsetid, cdw12, save, NVME_UUID_NONE, 0, 0, NULL, result);
+ nvmsetid, cdw12, save, NVME_UUID_NONE, 0, 0,
+ NULL, result);
}
int nvme_set_features_lba_sts_interval(int fd, __u16 lsiri, __u16 lsipi,
DW(lsipi, NVME_FEATURES_LBAS_LSIPI);
return __nvme_set_features(fd, NVME_FEAT_FID_LBA_STS_INTERVAL, value,
- save, result);
+ save, result);
}
int nvme_set_features_host_behavior(int fd, bool save,
struct nvme_feat_host_behavior *data)
{
return nvme_set_features(fd, NVME_FEAT_FID_HOST_BEHAVIOR,
- NVME_NSID_NONE, save, 0, 0, NVME_UUID_NONE, 0, sizeof(*data),
- data, NULL);
+ NVME_NSID_NONE, save, 0, 0, NVME_UUID_NONE, 0,
+ sizeof(*data), data, NULL);
}
int nvme_set_features_sanitize(int fd, bool nodrm, bool save, __u32 *result)
{
return __nvme_set_features(fd, NVME_FEAT_FID_SANITIZE, !!nodrm, save,
- result);
+ result);
}
int nvme_set_features_endurance_evt_cfg(int fd, __u16 endgid, __u8 egwarn,
bool save, __u32 *result)
{
__u32 value = endgid | egwarn << 16;
+
return __nvme_set_features(fd, NVME_FEAT_FID_ENDURANCE_EVT_CFG, value,
- save, result);
+ save, result);
}
int nvme_set_features_sw_progress(int fd, __u8 pbslc, bool save,
__u32 *result)
{
return __nvme_set_features(fd, NVME_FEAT_FID_SW_PROGRESS, pbslc, save,
- result);
+ result);
}
int nvme_set_features_host_id(int fd, bool save, bool exhid, __u8 *hostid)
int nvme_set_features_resv_mask(int fd, __u32 mask, bool save, __u32 *result)
{
return __nvme_set_features(fd, NVME_FEAT_FID_RESV_MASK, mask, save,
- result);
+ result);
}
int nvme_set_features_resv_persist(int fd, bool ptpl, bool save, __u32 *result)
{
return __nvme_set_features(fd, NVME_FEAT_RESV_PERSIST, !!ptpl, save,
- result);
+ result);
}
int nvme_set_features_write_protect(int fd, enum nvme_feat_nswpcfg_state state,
bool save, __u32 *result)
{
return __nvme_set_features(fd, NVME_FEAT_FID_WRITE_PROTECT, state,
- save, result);
+ save, result);
}
int nvme_get_features(int fd, enum nvme_features_id fid, __u32 nsid,
}
static int __nvme_get_features(int fd, enum nvme_features_id fid,
- enum nvme_get_features_sel sel, __u32 *result)
+ enum nvme_get_features_sel sel, __u32 *result)
{
return nvme_get_features(fd, fid, NVME_NSID_NONE, sel, 0,
- NVME_UUID_NONE, 0, NULL, result);
+ NVME_UUID_NONE, 0, NULL, result);
}
int nvme_get_features_arbitration(int fd, enum nvme_get_features_sel sel,
- __u32 *result)
+ __u32 *result)
{
return __nvme_get_features(fd, NVME_FEAT_FID_ARBITRATION, sel, result);
}
int nvme_get_features_power_mgmt(int fd, enum nvme_get_features_sel sel,
- __u32 *result)
+ __u32 *result)
{
return __nvme_get_features(fd, NVME_FEAT_FID_POWER_MGMT, sel, result);
}
struct nvme_lba_range_type *data,
__u32 *result)
{
- return nvme_get_features(fd, NVME_FEAT_FID_LBA_RANGE, NVME_NSID_NONE, sel, 0,
- NVME_UUID_NONE, 0, NULL, result);
+ return nvme_get_features(fd, NVME_FEAT_FID_LBA_RANGE, NVME_NSID_NONE,
+ sel, 0, NVME_UUID_NONE, 0, NULL, result);
}
int nvme_get_features_temp_thresh(int fd, enum nvme_get_features_sel sel,
- __u32 *result)
+ __u32 *result)
{
return __nvme_get_features(fd, NVME_FEAT_FID_TEMP_THRESH, sel, result);
}
int nvme_get_features_err_recovery(int fd, enum nvme_get_features_sel sel,
- __u32 *result)
+ __u32 *result)
{
return __nvme_get_features(fd, NVME_FEAT_FID_ERR_RECOVERY, sel,
- result);
+ result);
}
int nvme_get_features_volatile_wc(int fd, enum nvme_get_features_sel sel,
- __u32 *result)
+ __u32 *result)
{
return __nvme_get_features(fd, NVME_FEAT_FID_VOLATILE_WC, sel, result);
}
int nvme_get_features_num_queues(int fd, enum nvme_get_features_sel sel,
- __u32 *result)
+ __u32 *result)
{
return __nvme_get_features(fd, NVME_FEAT_FID_NUM_QUEUES, sel, result);
}
int nvme_get_features_irq_coalesce(int fd, enum nvme_get_features_sel sel,
- __u32 *result)
+ __u32 *result)
{
return __nvme_get_features(fd, NVME_FEAT_FID_IRQ_COALESCE, sel,
- result);
+ result);
}
int nvme_get_features_irq_config(int fd, enum nvme_get_features_sel sel,
- __u16 iv, __u32 *result)
+ __u16 iv, __u32 *result)
{
- return nvme_get_features(fd, NVME_FEAT_FID_IRQ_CONFIG, NVME_NSID_NONE, sel, iv,
- NVME_UUID_NONE, 0, NULL, result);
+ return nvme_get_features(fd, NVME_FEAT_FID_IRQ_CONFIG, NVME_NSID_NONE,
+ sel, iv, NVME_UUID_NONE, 0, NULL, result);
}
int nvme_get_features_write_atomic(int fd, enum nvme_get_features_sel sel,
- __u32 *result)
+ __u32 *result)
{
return __nvme_get_features(fd, NVME_FEAT_FID_WRITE_ATOMIC, sel,
- result);
+ result);
}
int nvme_get_features_async_event(int fd, enum nvme_get_features_sel sel,
- __u32 *result)
+ __u32 *result)
{
return __nvme_get_features(fd, NVME_FEAT_FID_ASYNC_EVENT, sel, result);
}
int nvme_get_features_auto_pst(int fd, enum nvme_get_features_sel sel,
- struct nvme_feat_auto_pst *apst, __u32 *result)
+ struct nvme_feat_auto_pst *apst, __u32 *result)
{
- return nvme_get_features(fd, NVME_FEAT_FID_AUTO_PST, NVME_NSID_NONE, sel, 0,
- NVME_UUID_NONE, 0, NULL, result);
+ return nvme_get_features(fd, NVME_FEAT_FID_AUTO_PST, NVME_NSID_NONE,
+ sel, 0, NVME_UUID_NONE, 0, NULL, result);
}
int nvme_get_features_host_mem_buf(int fd, enum nvme_get_features_sel sel,
- __u32 *result)
+ __u32 *result)
{
return __nvme_get_features(fd, NVME_FEAT_FID_HOST_MEM_BUF, sel, result);
}
int nvme_get_features_timestamp(int fd,
enum nvme_get_features_sel sel, struct nvme_timestamp *ts)
{
- return nvme_get_features(fd, NVME_FEAT_FID_TIMESTAMP, NVME_NSID_NONE, sel, 0,
- NVME_UUID_NONE, 0, NULL, NULL);
+ return nvme_get_features(fd, NVME_FEAT_FID_TIMESTAMP, NVME_NSID_NONE,
+ sel, 0, NVME_UUID_NONE, 0, NULL, NULL);
}
int nvme_get_features_kato(int fd, enum nvme_get_features_sel sel, __u32 *result)
__u16 nvmsetid, struct nvme_plm_config *data, __u32 *result)
{
return nvme_get_features(fd, NVME_FEAT_FID_PLM_CONFIG, NVME_NSID_NONE,
- sel, nvmsetid, NVME_UUID_NONE, 0, NULL, result);
+ sel, nvmsetid, NVME_UUID_NONE, 0, NULL,
+ result);
}
int nvme_get_features_plm_window(int fd, enum nvme_get_features_sel sel,
__u16 nvmsetid, __u32 *result)
{
return nvme_get_features(fd, NVME_FEAT_FID_PLM_WINDOW, NVME_NSID_NONE,
- sel, nvmsetid, NVME_UUID_NONE, 0, NULL, result);
+ sel, nvmsetid, NVME_UUID_NONE, 0, NULL,
+ result);
}
-int nvme_get_features_lba_sts_interval(int fd, enum nvme_get_features_sel sel, __u32 *result)
+int nvme_get_features_lba_sts_interval(int fd, enum nvme_get_features_sel sel,
+ __u32 *result)
{
- return __nvme_get_features(fd, NVME_FEAT_FID_LBA_STS_INTERVAL, sel, result);
+ return __nvme_get_features(fd, NVME_FEAT_FID_LBA_STS_INTERVAL, sel,
+ result);
}
int nvme_get_features_host_behavior(int fd, enum nvme_get_features_sel sel,
- struct nvme_feat_host_behavior *data, __u32 *result)
+ struct nvme_feat_host_behavior *data,
+ __u32 *result)
{
return nvme_get_features(fd, NVME_FEAT_FID_HOST_BEHAVIOR,
NVME_NSID_NONE, sel, 0, NVME_UUID_NONE, 0, NULL, result);
}
-int nvme_get_features_sanitize(int fd, enum nvme_get_features_sel sel, __u32 *result)
+int nvme_get_features_sanitize(int fd, enum nvme_get_features_sel sel,
+ __u32 *result)
{
return __nvme_get_features(fd, NVME_FEAT_FID_SANITIZE, sel, result);
}
-int nvme_get_features_endurance_event_cfg(int fd, enum nvme_get_features_sel sel, __u16 endgid, __u32 *result)
+int nvme_get_features_endurance_event_cfg(int fd, enum nvme_get_features_sel sel,
+ __u16 endgid, __u32 *result)
{
return nvme_get_features(fd, NVME_FEAT_FID_ENDURANCE_EVT_CFG,
- NVME_NSID_NONE, sel, 0, NVME_UUID_NONE, 0, NULL, result);
+ NVME_NSID_NONE, sel, 0, NVME_UUID_NONE, 0,
+ NULL, result);
}
-int nvme_get_features_sw_progress(int fd, enum nvme_get_features_sel sel, __u32 *result)
+int nvme_get_features_sw_progress(int fd, enum nvme_get_features_sel sel,
+ __u32 *result)
{
return __nvme_get_features(fd, NVME_FEAT_FID_SW_PROGRESS, sel, result);
}
int nvme_get_features_host_id(int fd, enum nvme_get_features_sel sel,
- bool exhid, __u32 len, __u8 *hostid)
+ bool exhid, __u32 len, __u8 *hostid)
{
- return nvme_get_features(fd, NVME_FEAT_FID_HOST_ID, NVME_NSID_NONE,
- sel, !!exhid, NVME_UUID_NONE, len, hostid, NULL);
+ return nvme_get_features(fd, NVME_FEAT_FID_HOST_ID, NVME_NSID_NONE, sel,
+ !!exhid, NVME_UUID_NONE, len, hostid, NULL);
}
-int nvme_get_features_resv_mask(int fd,
- enum nvme_get_features_sel sel, __u32 *result)
+int nvme_get_features_resv_mask(int fd, enum nvme_get_features_sel sel,
+ __u32 *result)
{
return __nvme_get_features(fd, NVME_FEAT_FID_RESV_MASK, sel, result);
}
-int nvme_get_features_resv_persist(int fd,
- enum nvme_get_features_sel sel, __u32 *result)
+int nvme_get_features_resv_persist(int fd, enum nvme_get_features_sel sel,
+ __u32 *result)
{
return __nvme_get_features(fd, NVME_FEAT_RESV_PERSIST, sel, result);
}
int nvme_get_features_write_protect(int fd, __u32 nsid,
- enum nvme_get_features_sel sel, __u32 *result)
+ enum nvme_get_features_sel sel,
+ __u32 *result)
{
return nvme_get_features(fd, NVME_FEAT_FID_WRITE_PROTECT, nsid, sel, 0,
- NVME_UUID_NONE, 0, NULL, result);
+ NVME_UUID_NONE, 0, NULL, result);
}
int nvme_format_nvm(int fd, __u32 nsid, __u8 lbaf,
- enum nvme_cmd_format_mset mset, enum nvme_cmd_format_pi pi,
- enum nvme_cmd_format_pil pil, enum nvme_cmd_format_ses ses,
- __u32 timeout)
+ enum nvme_cmd_format_mset mset, enum nvme_cmd_format_pi pi,
+ enum nvme_cmd_format_pil pil, enum nvme_cmd_format_ses ses,
+ __u32 timeout)
{
__u32 cdw10 = DW(lbaf, NVME_FORMAT_CDW10_LBAF) |
DW(mset, NVME_FORMAT_CDW10_MSET) |
__u32 timeout)
{
return nvme_ns_mgmt(fd, NVME_NSID_NONE, NVME_NS_MGMT_SEL_CREATE, ns, nsid,
- timeout);
+ timeout);
}
int nvme_ns_mgmt_delete(int fd, __u32 nsid)
int nvme_ns_dettach_ctrls(int fd, __u32 nsid, struct nvme_ctrl_list *ctrlist)
{
return nvme_ns_attach(fd, nsid, NVME_NS_ATTACH_SEL_CTRL_DEATTACH,
- ctrlist);
+ ctrlist);
}
int nvme_fw_download(int fd, __u32 offset, __u32 data_len, void *data)
DW(endir, NVME_DIRECTIVE_SEND_IDENTIFY_CDW12_ENDIR);
return nvme_directive_send(fd, nsid, 0, NVME_DIRECTIVE_DTYPE_IDENTIFY,
- NVME_DIRECTIVE_SEND_IDENTIFY_DOPER_ENDIR, cdw12, sizeof(*id),
- id, NULL);
+ NVME_DIRECTIVE_SEND_IDENTIFY_DOPER_ENDIR,
+ cdw12, sizeof(*id), id, NULL);
}
int nvme_directive_send_stream_release_identifier(int fd, __u32 nsid,
__u16 stream_id)
{
+ enum nvme_directive_dtype dtype =
+ NVME_DIRECTIVE_SEND_STREAMS_DOPER_RELEASE_IDENTIFIER;
+
return nvme_directive_send(fd, nsid, stream_id,
- NVME_DIRECTIVE_DTYPE_STREAMS,
- NVME_DIRECTIVE_SEND_STREAMS_DOPER_RELEASE_IDENTIFIER, 0, 0,
- NULL, NULL);
+ NVME_DIRECTIVE_DTYPE_STREAMS,
+ dtype, 0, 0, NULL, NULL);
}
int nvme_directive_send_stream_release_resource(int fd, __u32 nsid)
{
+ enum nvme_directive_dtype dtype =
+ NVME_DIRECTIVE_SEND_STREAMS_DOPER_RELEASE_RESOURCE;
+
return nvme_directive_send(fd, nsid, 0, NVME_DIRECTIVE_DTYPE_STREAMS,
- NVME_DIRECTIVE_SEND_STREAMS_DOPER_RELEASE_RESOURCE, 0, 0, NULL,
- NULL);
+ dtype, 0, 0, NULL, NULL);
}
int nvme_directive_recv(int fd, __u32 nsid, __u16 dspec,
int nvme_directive_recv_identify_parameters(int fd, __u32 nsid,
struct nvme_id_directives *id)
{
+ enum nvme_directive_dtype dtype =
+ NVME_DIRECTIVE_RECEIVE_IDENTIFY_DOPER_PARAM;
+
return nvme_directive_recv(fd, nsid, 0, NVME_DIRECTIVE_DTYPE_IDENTIFY,
- NVME_DIRECTIVE_RECEIVE_IDENTIFY_DOPER_PARAM, 0, sizeof(*id),
- id, NULL);
+ dtype, 0, sizeof(*id), id, NULL);
}
int nvme_directive_recv_stream_parameters(int fd, __u32 nsid,
struct nvme_streams_directive_params *parms)
{
+ enum nvme_directive_dtype dtype =
+ NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_PARAM;
+
return nvme_directive_recv(fd, nsid, 0, NVME_DIRECTIVE_DTYPE_STREAMS,
- NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_PARAM, 0, sizeof(*parms),
- parms, NULL);
+ dtype, 0, sizeof(*parms), parms, NULL);
}
int nvme_directive_recv_stream_status(int fd, __u32 nsid, unsigned nr_entries,
struct nvme_streams_directive_status *id)
{
+ enum nvme_directive_dtype dtype =
+ NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_STATUS;
+
return nvme_directive_recv(fd, nsid, 0, NVME_DIRECTIVE_DTYPE_STREAMS,
- NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_STATUS, 0, sizeof(*id),
- id, NULL);
+ dtype, 0, sizeof(*id), id, NULL);
}
int nvme_directive_recv_stream_allocate(int fd, __u32 nsid, __u16 nsr,
__u32 *result)
{
+ enum nvme_directive_dtype dtype =
+ NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_RESOURCE;
+
return nvme_directive_recv(fd, nsid, 0, NVME_DIRECTIVE_DTYPE_STREAMS,
- NVME_DIRECTIVE_RECEIVE_STREAMS_DOPER_RESOURCE, nsr, 0, NULL,
- result);
+ dtype, nsr, 0, NULL, result);
}
int nvme_set_property(int fd, int offset, __u64 value)
__u32 data_len, void *data, __u32 metadata_len, void *metadata)
{
return nvme_io(fd, nvme_cmd_read, nsid, slba, nlb, control, dsm,
- reftag, apptag, appmask, data_len, data, metadata_len,
- metadata);
+ reftag, apptag, appmask, data_len, data, metadata_len,
+ metadata);
}
int nvme_write(int fd, __u32 nsid, __u64 slba, __u16 nlb, __u16 control,
__u32 flags = dsm | dspec << 16;
return nvme_io(fd, nvme_cmd_write, nsid, slba, nlb, control, flags,
- reftag, apptag, appmask, data_len, data, metadata_len,
- metadata);
+ reftag, apptag, appmask, data_len, data, metadata_len,
+ metadata);
}
int nvme_compare(int fd, __u32 nsid, __u64 slba, __u16 nlb, __u16 control,
void *data, __u32 metadata_len, void *metadata)
{
return nvme_io(fd, nvme_cmd_compare, nsid, slba, nlb, control, 0,
- reftag, apptag, appmask, data_len, data, metadata_len,
- metadata);
+ reftag, apptag, appmask, data_len, data, metadata_len,
+ metadata);
}
int nvme_write_zeros(int fd, __u32 nsid, __u64 slba, __u16 nlb, __u16 control,
__u32 reftag, __u16 apptag, __u16 appmask)
{
return nvme_io(fd, nvme_cmd_write_zeroes, nsid, slba, nlb, control, 0,
- reftag, apptag, appmask, 0, NULL, 0, NULL);
+ reftag, apptag, appmask, 0, NULL, 0, NULL);
}
int nvme_verify(int fd, __u32 nsid, __u64 slba, __u16 nlb, __u16 control,
__u32 reftag, __u16 apptag, __u16 appmask)
{
return nvme_io(fd, nvme_cmd_verify, nsid, slba, nlb, control, 0,
- reftag, apptag, appmask, 0, NULL, 0, NULL);
+ reftag, apptag, appmask, 0, NULL, 0, NULL);
}
int nvme_write_uncorrectable(int fd, __u32 nsid, __u64 slba, __u16 nlb)
{
return nvme_io(fd, nvme_cmd_write_uncor, nsid, slba, nlb, 0, 0, 0, 0,
- 0, 0, NULL, 0, NULL);
+ 0, 0, NULL, 0, NULL);
}
int nvme_dsm(int fd, __u32 nsid, __u32 attrs, __u16 nr_ranges,