Skip to content

Commit 752d8c9

Browse files
ikegami-tigaw
authored andcommitted
ocp: add ocp_get_log_simple() to set UUID index
The index is required by the OCP specification. Signed-off-by: Tokunori Ikegami <[email protected]>
1 parent 91d0a8a commit 752d8c9

File tree

3 files changed

+33
-12
lines changed

3 files changed

+33
-12
lines changed

plugins/ocp/ocp-nvme.c

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -219,8 +219,8 @@ static int get_c3_log_page(struct nvme_dev *dev, char *format)
219219
}
220220
memset(data, 0, sizeof(__u8) * C3_LATENCY_MON_LOG_BUF_LEN);
221221

222-
ret = nvme_get_log_simple(dev_fd(dev), C3_LATENCY_MON_OPCODE,
223-
C3_LATENCY_MON_LOG_BUF_LEN, data);
222+
ret = ocp_get_log_simple(dev, C3_LATENCY_MON_OPCODE, C3_LATENCY_MON_LOG_BUF_LEN,
223+
data);
224224

225225
if (strcmp(format, "json"))
226226
fprintf(stderr, "NVMe Status:%s(%x)\n", nvme_status_to_string(ret, false), ret);
@@ -1286,8 +1286,8 @@ static int get_c9_log_page_data(struct nvme_dev *dev, int print_data, int save_b
12861286
}
12871287
memset(header_data, 0, sizeof(__u8) * C9_TELEMETRY_STR_LOG_LEN);
12881288

1289-
ret = nvme_get_log_simple(dev_fd(dev), C9_TELEMETRY_STRING_LOG_ENABLE_OPCODE,
1290-
C9_TELEMETRY_STR_LOG_LEN, header_data);
1289+
ret = ocp_get_log_simple(dev, C9_TELEMETRY_STRING_LOG_ENABLE_OPCODE,
1290+
C9_TELEMETRY_STR_LOG_LEN, header_data);
12911291

12921292
if (!ret) {
12931293
log_data = (struct telemetry_str_log_format *)header_data;
@@ -1329,8 +1329,8 @@ static int get_c9_log_page_data(struct nvme_dev *dev, int print_data, int save_b
13291329
}
13301330
memset(pC9_string_buffer, 0, sizeof(__u8) * total_log_page_sz);
13311331

1332-
ret = nvme_get_log_simple(dev_fd(dev), C9_TELEMETRY_STRING_LOG_ENABLE_OPCODE,
1333-
total_log_page_sz, pC9_string_buffer);
1332+
ret = ocp_get_log_simple(dev, C9_TELEMETRY_STRING_LOG_ENABLE_OPCODE,
1333+
total_log_page_sz, pC9_string_buffer);
13341334
} else {
13351335
fprintf(stderr, "ERROR : OCP : Unable to read C9 data.\n");
13361336
}
@@ -1601,8 +1601,7 @@ static int get_c5_log_page(struct nvme_dev *dev, char *format)
16011601
}
16021602
memset(data, 0, sizeof(__u8) * C5_UNSUPPORTED_REQS_LEN);
16031603

1604-
ret = nvme_get_log_simple(dev_fd(dev), C5_UNSUPPORTED_REQS_OPCODE,
1605-
C5_UNSUPPORTED_REQS_LEN, data);
1604+
ret = ocp_get_log_simple(dev, C5_UNSUPPORTED_REQS_OPCODE, C5_UNSUPPORTED_REQS_LEN, data);
16061605
if (!ret) {
16071606
log_data = (struct unsupported_requirement_log *)data;
16081607

@@ -1707,7 +1706,8 @@ static int get_c1_log_page(struct nvme_dev *dev, char *format)
17071706
}
17081707
memset(data, 0, sizeof(__u8) * C1_ERROR_RECOVERY_LOG_BUF_LEN);
17091708

1710-
ret = nvme_get_log_simple(dev_fd(dev), C1_ERROR_RECOVERY_OPCODE, C1_ERROR_RECOVERY_LOG_BUF_LEN, data);
1709+
ret = ocp_get_log_simple(dev, C1_ERROR_RECOVERY_OPCODE, C1_ERROR_RECOVERY_LOG_BUF_LEN,
1710+
data);
17111711

17121712
if (!ret) {
17131713
log_data = (struct ocp_error_recovery_log_page *)data;
@@ -1810,7 +1810,7 @@ static int get_c4_log_page(struct nvme_dev *dev, char *format)
18101810
}
18111811
memset(data, 0, sizeof(__u8) * C4_DEV_CAP_REQ_LEN);
18121812

1813-
ret = nvme_get_log_simple(dev_fd(dev), C4_DEV_CAP_REQ_OPCODE, C4_DEV_CAP_REQ_LEN, data);
1813+
ret = ocp_get_log_simple(dev, C4_DEV_CAP_REQ_OPCODE, C4_DEV_CAP_REQ_LEN, data);
18141814

18151815
if (!ret) {
18161816
log_data = (struct ocp_device_capabilities_log_page *)data;
@@ -2541,8 +2541,7 @@ static int get_c7_log_page(struct nvme_dev *dev, char *format)
25412541
}
25422542
memset(data, 0, sizeof(__u8) * C7_TCG_CONFIGURATION_LEN);
25432543

2544-
ret = nvme_get_log_simple(dev_fd(dev), C7_TCG_CONFIGURATION_OPCODE,
2545-
C7_TCG_CONFIGURATION_LEN, data);
2544+
ret = ocp_get_log_simple(dev, C7_TCG_CONFIGURATION_OPCODE, C7_TCG_CONFIGURATION_LEN, data);
25462545
if (!ret) {
25472546
log_data = (struct tcg_configuration_log *)data;
25482547

plugins/ocp/ocp-utils.c

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,23 @@ int ocp_get_uuid_index(struct nvme_dev *dev, __u8 *index)
3737

3838
return ocp_find_uuid_index(&uuid_list, index);
3939
}
40+
41+
int ocp_get_log_simple(struct nvme_dev *dev, enum nvme_cmd_get_log_lid lid, __u32 len, void *log)
42+
{
43+
int fd = dev_fd(dev);
44+
struct nvme_get_log_args args = {
45+
.log = log,
46+
.args_size = sizeof(args),
47+
.fd = fd,
48+
.timeout = NVME_DEFAULT_IOCTL_TIMEOUT,
49+
.lid = lid,
50+
.len = len,
51+
.nsid = NVME_NSID_ALL,
52+
.lsi = NVME_LOG_LSI_NONE,
53+
.lsp = NVME_LOG_LSP_NONE,
54+
};
55+
56+
ocp_get_uuid_index(dev, &args.uuidx);
57+
58+
return nvme_get_log_page(fd, NVME_LOG_PAGE_PDU_SIZE, &args);
59+
}

plugins/ocp/ocp-utils.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,5 @@ int ocp_get_uuid_index(struct nvme_dev *dev, __u8 *index);
3030
* Return: Zero if nvme device has UUID list log page, Negative POSIX error code otherwise.
3131
*/
3232
int ocp_find_uuid_index(struct nvme_id_uuid_list *uuid_list, __u8 *index);
33+
34+
int ocp_get_log_simple(struct nvme_dev *dev, enum nvme_cmd_get_log_lid lid, __u32 len, void *log);

0 commit comments

Comments
 (0)