Changeset View
Changeset View
Standalone View
Standalone View
sbin/nvmecontrol/logpage.c
Show First 20 Lines • Show All 101 Lines • ▼ Show 20 Lines | |||||
read_logpage(int fd, uint8_t log_page, uint32_t nsid, void *payload, | read_logpage(int fd, uint8_t log_page, uint32_t nsid, void *payload, | ||||
uint32_t payload_size) | uint32_t payload_size) | ||||
{ | { | ||||
struct nvme_pt_command pt; | struct nvme_pt_command pt; | ||||
struct nvme_error_information_entry *err_entry; | struct nvme_error_information_entry *err_entry; | ||||
int i, err_pages; | int i, err_pages; | ||||
memset(&pt, 0, sizeof(pt)); | memset(&pt, 0, sizeof(pt)); | ||||
pt.cmd.opc_fuse = NVME_CMD_SET_OPC(NVME_OPC_GET_LOG_PAGE); | pt.cmd.opc = NVME_OPC_GET_LOG_PAGE; | ||||
pt.cmd.nsid = htole32(nsid); | pt.cmd.nsid = htole32(nsid); | ||||
pt.cmd.cdw10 = ((payload_size/sizeof(uint32_t)) - 1) << 16; | pt.cmd.cdw10 = ((payload_size/sizeof(uint32_t)) - 1) << 16; | ||||
pt.cmd.cdw10 |= log_page; | pt.cmd.cdw10 |= log_page; | ||||
pt.cmd.cdw10 = htole32(pt.cmd.cdw10); | pt.cmd.cdw10 = htole32(pt.cmd.cdw10); | ||||
pt.buf = payload; | pt.buf = payload; | ||||
pt.len = payload_size; | pt.len = payload_size; | ||||
pt.is_read = 1; | pt.is_read = 1; | ||||
▲ Show 20 Lines • Show All 913 Lines • Show Last 20 Lines |