diff --git a/src/nvme/ioctl.h b/src/nvme/ioctl.h index f0a5f5ea..d14e997f 100644 --- a/src/nvme/ioctl.h +++ b/src/nvme/ioctl.h @@ -2378,6 +2378,22 @@ static inline int nvme_get_log_ave_discover(int fd, bool rae, __u32 len, return nvme_get_nsid_log(fd, rae, NVME_LOG_LID_AVE_DISCOVER, NVME_NSID_ALL, len, log); } +/** + * nvme_get_log_pull_model_ddc_req() - Retrieve Pull Model DDC Request Log + * @fd: File descriptor of nvme device + * @rae: Retain asynchronous events + * @len: The allocated length of the log page + * @log: User address to store the log page + * + * Return: The nvme command status if a response was received (see + * &enum nvme_status_field) or -1 with errno set otherwise + */ +static inline int nvme_get_log_pull_model_ddc_req(int fd, bool rae, __u32 len, + struct nvme_pull_model_ddc_req_log *log) +{ + return nvme_get_nsid_log(fd, rae, NVME_LOG_LID_PULL_MODEL_DDC_REQ, NVME_NSID_ALL, len, log); +} + /** * nvme_get_log_media_unit_stat() - Retrieve Media Unit Status * @fd: File descriptor of nvme device diff --git a/src/nvme/types.h b/src/nvme/types.h index 41ccd6e3..1fa300f7 100644 --- a/src/nvme/types.h +++ b/src/nvme/types.h @@ -7007,6 +7007,20 @@ struct nvme_ave_discover_log { struct nvme_ave_discover_log_entry adlpe[]; }; +/** + * struct nvme_pull_model_ddc_req_log - Pull Model DDC Request Log + * @ori: Operation Request Identifier + * @rsvd1: Reserved + * @tpdrpl: Total Pull Model DDC Request Log Page Length + * @osp: Operation Specific Parameters + */ +struct nvme_pull_model_ddc_req_log { + __u8 ori; + __u8 rsvd1[3]; + __le32 tpdrpl; + __u8 osp[]; +}; + /** * struct nvme_mi_read_nvm_ss_info - NVM Subsystem Information Data Structure * @nump: Number of Ports