return nvme_submit_io_passthru(fd, &cmd);
}
-int nvme_passthru_admin(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)
-{
- 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, NULL);
-}
-
int nvme_identify13(int fd, __u32 nsid, __u32 cdw10, __u32 cdw11, void *data)
{
struct nvme_admin_cmd cmd = {
bool iekey, __u64 crkey);
int nvme_resv_report(int fd, __u32 nsid, __u32 numd, __u32 cdw11, void *data);
-/* NVME_ADMIN_CMD */
-int nvme_passthru_admin(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);
-
int nvme_identify13(int fd, __u32 nsid, __u32 cdw10, __u32 cdw11, void *data);
int nvme_identify(int fd, __u32 nsid, __u32 cdw10, void *data);
int nvme_identify_ctrl(int fd, void *data);
}
-int nvme_get_log_with_offset(int fd, __u32 nsid, __u16 log_id, __u32 data_len, __u64 offset, void *data)
-{
- struct nvme_admin_cmd cmd = {
- .opcode = nvme_admin_get_log_page,
- .nsid = nsid,
- .addr = (__u64)(uintptr_t) data,
- .data_len = data_len,
- };
- __u32 numd = (data_len >> 2) - 1;
- __u16 numdu = numd >> 16, numdl = numd & 0xffff;
-
- cmd.cdw10 = log_id | (numdl << 16);
- cmd.cdw11 = numdu;
- cmd.cdw12 = (__u32)(offset & 0xffffffff);
- cmd.cdw13 = (__u32)((offset >> 32) & 0xffffffff);
-
- /***************************************************************************
- printf("nvme_get_log_with_offset Parameter Details - \n");
- printf("data_len : %d cdw10 : %x cdw11 : %x cdw12 : %x cdw13 : %x\n", cmd.data_len, cmd.cdw10, cmd.cdw11, cmd.cdw12, cmd.cdw13);
- ***************************************************************************/
- return nvme_passthru_admin(fd, cmd.opcode, 0, 0,
- cmd.nsid, 0, 0,
- cmd.cdw10, cmd.cdw11, cmd.cdw12,
- cmd.cdw13, 0, 0,
- cmd.data_len, data, 0,
- NULL, 100);
-}
-
static int get_host_tele(int argc, char **argv, struct command *cmd, struct plugin *plugin)
{
const char *desc = "Capture the Telemetry Host-Initiated Data in either " \
cfg.log_id = (cfg.log_id << 8) | 0x07;
- err = nvme_get_log_with_offset(fd, cfg.namespace_id, cfg.log_id, sizeof(tele_log), offset, (void *)(&tele_log));
+ err = nvme_get_log13(fd, cfg.namespace_id, cfg.log_id,
+ NVME_NO_LOG_LSP, offset, 0, false,
+ sizeof(tele_log), (void *)(&tele_log));
if (!err) {
-
maxBlk = tele_log.tele_data_area3;
offset += 512;
memset(log, 0, blksToGet * 512);
- err = nvme_get_log_with_offset(fd, cfg.namespace_id, cfg.log_id, blksToGet * 512, offset, (void *)log);
+ err = nvme_get_log13(fd, cfg.namespace_id, cfg.log_id,
+ NVME_NO_LOG_LSP, offset, 0, false,
+ blksToGet * 512, (void *)log);
if (!err) {
offset += blksToGet * 512;
dump_fd = STDOUT_FILENO;
log_id = 0x08;
- err = nvme_get_log_with_offset(fd, cfg.namespace_id, log_id, sizeof(tele_log), offset, (void *)(&tele_log));
+ err = nvme_get_log13(fd, cfg.namespace_id, log_id,
+ NVME_NO_LOG_LSP, offset, 0, false,
+ sizeof(tele_log), (void *)(&tele_log));
if (!err) {
maxBlk = tele_log.tele_data_area3;
offset += 512;
memset(log, 0, blksToGet * 512);
- err = nvme_get_log_with_offset(fd, cfg.namespace_id, log_id, blksToGet * 512, offset, (void *)log);
+ err = nvme_get_log13(fd, cfg.namespace_id, log_id,
+ NVME_NO_LOG_LSP, offset, 0, false,
+ blksToGet * 512, (void *)log);
if (!err) {
offset += blksToGet * 512;
}
log_id = 0x08;
- err = nvme_get_log_with_offset(fd, cfg.namespace_id, log_id, sizeof(tele_log), offset, (void *)(&tele_log));
+ err = nvme_get_log13(fd, cfg.namespace_id, log_id,
+ NVME_NO_LOG_LSP, offset, 0, false,
+ sizeof(tele_log), (void *)(&tele_log));
if (!err) {
maxBlk = tele_log.tele_data_area3;
offset += 512;
memset(log, 0, blksToGet * 512);
- err = nvme_get_log_with_offset(fd, cfg.namespace_id, log_id, blksToGet * 512, offset, (void *)log);
+ err = nvme_get_log13(fd, cfg.namespace_id, log_id,
+ NVME_NO_LOG_LSP, offset, 0, false,
+ blksToGet * 512, (void *)log);
if (!err) {
offset += blksToGet * 512;