nvme: add offset to spdk_nvme_ctrlr_cmd_get_log_page()
Change-Id: I1af4950995062f892062f29db85da2a8dd793d85 Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
parent
9938985766
commit
d24ea9009a
@ -628,6 +628,7 @@ print_latency_statistics(const char *op_name, enum spdk_nvme_intel_log_page log_
|
|||||||
SPDK_NVME_GLOBAL_NS_TAG,
|
SPDK_NVME_GLOBAL_NS_TAG,
|
||||||
&ctrlr->latency_page,
|
&ctrlr->latency_page,
|
||||||
sizeof(struct spdk_nvme_intel_rw_latency_page),
|
sizeof(struct spdk_nvme_intel_rw_latency_page),
|
||||||
|
0,
|
||||||
enable_latency_tracking_complete,
|
enable_latency_tracking_complete,
|
||||||
NULL)) {
|
NULL)) {
|
||||||
printf("nvme_ctrlr_cmd_get_log_page() failed\n");
|
printf("nvme_ctrlr_cmd_get_log_page() failed\n");
|
||||||
|
@ -189,6 +189,7 @@ get_error_log_page(struct spdk_nvme_ctrlr *ctrlr)
|
|||||||
if (spdk_nvme_ctrlr_cmd_get_log_page(ctrlr, SPDK_NVME_LOG_ERROR,
|
if (spdk_nvme_ctrlr_cmd_get_log_page(ctrlr, SPDK_NVME_LOG_ERROR,
|
||||||
SPDK_NVME_GLOBAL_NS_TAG, error_page,
|
SPDK_NVME_GLOBAL_NS_TAG, error_page,
|
||||||
sizeof(*error_page) * (cdata->elpe + 1),
|
sizeof(*error_page) * (cdata->elpe + 1),
|
||||||
|
0,
|
||||||
get_log_page_completion, NULL)) {
|
get_log_page_completion, NULL)) {
|
||||||
printf("spdk_nvme_ctrlr_cmd_get_log_page() failed\n");
|
printf("spdk_nvme_ctrlr_cmd_get_log_page() failed\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
@ -201,7 +202,7 @@ static int
|
|||||||
get_health_log_page(struct spdk_nvme_ctrlr *ctrlr)
|
get_health_log_page(struct spdk_nvme_ctrlr *ctrlr)
|
||||||
{
|
{
|
||||||
if (spdk_nvme_ctrlr_cmd_get_log_page(ctrlr, SPDK_NVME_LOG_HEALTH_INFORMATION,
|
if (spdk_nvme_ctrlr_cmd_get_log_page(ctrlr, SPDK_NVME_LOG_HEALTH_INFORMATION,
|
||||||
SPDK_NVME_GLOBAL_NS_TAG, &health_page, sizeof(health_page), get_log_page_completion, NULL)) {
|
SPDK_NVME_GLOBAL_NS_TAG, &health_page, sizeof(health_page), 0, get_log_page_completion, NULL)) {
|
||||||
printf("spdk_nvme_ctrlr_cmd_get_log_page() failed\n");
|
printf("spdk_nvme_ctrlr_cmd_get_log_page() failed\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
@ -213,7 +214,7 @@ static int
|
|||||||
get_intel_smart_log_page(struct spdk_nvme_ctrlr *ctrlr)
|
get_intel_smart_log_page(struct spdk_nvme_ctrlr *ctrlr)
|
||||||
{
|
{
|
||||||
if (spdk_nvme_ctrlr_cmd_get_log_page(ctrlr, SPDK_NVME_INTEL_LOG_SMART, SPDK_NVME_GLOBAL_NS_TAG,
|
if (spdk_nvme_ctrlr_cmd_get_log_page(ctrlr, SPDK_NVME_INTEL_LOG_SMART, SPDK_NVME_GLOBAL_NS_TAG,
|
||||||
&intel_smart_page, sizeof(intel_smart_page), get_log_page_completion, NULL)) {
|
&intel_smart_page, sizeof(intel_smart_page), 0, get_log_page_completion, NULL)) {
|
||||||
printf("spdk_nvme_ctrlr_cmd_get_log_page() failed\n");
|
printf("spdk_nvme_ctrlr_cmd_get_log_page() failed\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
@ -225,7 +226,7 @@ static int
|
|||||||
get_intel_temperature_log_page(struct spdk_nvme_ctrlr *ctrlr)
|
get_intel_temperature_log_page(struct spdk_nvme_ctrlr *ctrlr)
|
||||||
{
|
{
|
||||||
if (spdk_nvme_ctrlr_cmd_get_log_page(ctrlr, SPDK_NVME_INTEL_LOG_TEMPERATURE,
|
if (spdk_nvme_ctrlr_cmd_get_log_page(ctrlr, SPDK_NVME_INTEL_LOG_TEMPERATURE,
|
||||||
SPDK_NVME_GLOBAL_NS_TAG, &intel_temperature_page, sizeof(intel_temperature_page),
|
SPDK_NVME_GLOBAL_NS_TAG, &intel_temperature_page, sizeof(intel_temperature_page), 0,
|
||||||
get_log_page_completion, NULL)) {
|
get_log_page_completion, NULL)) {
|
||||||
printf("spdk_nvme_ctrlr_cmd_get_log_page() failed\n");
|
printf("spdk_nvme_ctrlr_cmd_get_log_page() failed\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
@ -237,7 +238,7 @@ static int
|
|||||||
get_intel_md_log_page(struct spdk_nvme_ctrlr *ctrlr)
|
get_intel_md_log_page(struct spdk_nvme_ctrlr *ctrlr)
|
||||||
{
|
{
|
||||||
if (spdk_nvme_ctrlr_cmd_get_log_page(ctrlr, SPDK_NVME_INTEL_MARKETING_DESCRIPTION,
|
if (spdk_nvme_ctrlr_cmd_get_log_page(ctrlr, SPDK_NVME_INTEL_MARKETING_DESCRIPTION,
|
||||||
SPDK_NVME_GLOBAL_NS_TAG, &intel_md_page, sizeof(intel_md_page),
|
SPDK_NVME_GLOBAL_NS_TAG, &intel_md_page, sizeof(intel_md_page), 0,
|
||||||
get_log_page_completion, NULL)) {
|
get_log_page_completion, NULL)) {
|
||||||
printf("spdk_nvme_ctrlr_cmd_get_log_page() failed\n");
|
printf("spdk_nvme_ctrlr_cmd_get_log_page() failed\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -742,7 +742,7 @@ print_latency_statistics(const char *op_name, enum spdk_nvme_intel_log_page log_
|
|||||||
while (ctrlr) {
|
while (ctrlr) {
|
||||||
if (spdk_nvme_ctrlr_is_log_page_supported(ctrlr->ctrlr, log_page)) {
|
if (spdk_nvme_ctrlr_is_log_page_supported(ctrlr->ctrlr, log_page)) {
|
||||||
if (spdk_nvme_ctrlr_cmd_get_log_page(ctrlr->ctrlr, log_page, SPDK_NVME_GLOBAL_NS_TAG,
|
if (spdk_nvme_ctrlr_cmd_get_log_page(ctrlr->ctrlr, log_page, SPDK_NVME_GLOBAL_NS_TAG,
|
||||||
ctrlr->latency_page, sizeof(struct spdk_nvme_intel_rw_latency_page),
|
ctrlr->latency_page, sizeof(struct spdk_nvme_intel_rw_latency_page), 0,
|
||||||
enable_latency_tracking_complete,
|
enable_latency_tracking_complete,
|
||||||
NULL)) {
|
NULL)) {
|
||||||
printf("nvme_ctrlr_cmd_get_log_page() failed\n");
|
printf("nvme_ctrlr_cmd_get_log_page() failed\n");
|
||||||
|
@ -517,6 +517,9 @@ struct spdk_nvme_ns *spdk_nvme_ctrlr_get_ns(struct spdk_nvme_ctrlr *ctrlr, uint3
|
|||||||
* \param nsid Depending on the log page, this may be 0, a namespace identifier, or SPDK_NVME_GLOBAL_NS_TAG.
|
* \param nsid Depending on the log page, this may be 0, a namespace identifier, or SPDK_NVME_GLOBAL_NS_TAG.
|
||||||
* \param payload The pointer to the payload buffer.
|
* \param payload The pointer to the payload buffer.
|
||||||
* \param payload_size The size of payload buffer.
|
* \param payload_size The size of payload buffer.
|
||||||
|
* \param offset Offset in bytes within the log page to start retrieving log page data.
|
||||||
|
* May only be non-zero if the controller supports extended data for Get Log Page
|
||||||
|
* as reported in the controller data log page attributes.
|
||||||
* \param cb_fn Callback function to invoke when the log page has been retrieved.
|
* \param cb_fn Callback function to invoke when the log page has been retrieved.
|
||||||
* \param cb_arg Argument to pass to the callback function.
|
* \param cb_arg Argument to pass to the callback function.
|
||||||
*
|
*
|
||||||
@ -533,6 +536,7 @@ struct spdk_nvme_ns *spdk_nvme_ctrlr_get_ns(struct spdk_nvme_ctrlr *ctrlr, uint3
|
|||||||
int spdk_nvme_ctrlr_cmd_get_log_page(struct spdk_nvme_ctrlr *ctrlr,
|
int spdk_nvme_ctrlr_cmd_get_log_page(struct spdk_nvme_ctrlr *ctrlr,
|
||||||
uint8_t log_page, uint32_t nsid,
|
uint8_t log_page, uint32_t nsid,
|
||||||
void *payload, uint32_t payload_size,
|
void *payload, uint32_t payload_size,
|
||||||
|
uint64_t offset,
|
||||||
spdk_nvme_cmd_cb cb_fn, void *cb_arg);
|
spdk_nvme_cmd_cb cb_fn, void *cb_arg);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -269,7 +269,7 @@ static int nvme_ctrlr_set_intel_support_log_pages(struct spdk_nvme_ctrlr *ctrlr)
|
|||||||
|
|
||||||
status.done = false;
|
status.done = false;
|
||||||
spdk_nvme_ctrlr_cmd_get_log_page(ctrlr, SPDK_NVME_INTEL_LOG_PAGE_DIRECTORY, SPDK_NVME_GLOBAL_NS_TAG,
|
spdk_nvme_ctrlr_cmd_get_log_page(ctrlr, SPDK_NVME_INTEL_LOG_PAGE_DIRECTORY, SPDK_NVME_GLOBAL_NS_TAG,
|
||||||
log_page_directory, sizeof(struct spdk_nvme_intel_log_page_directory),
|
log_page_directory, sizeof(struct spdk_nvme_intel_log_page_directory), 0,
|
||||||
nvme_completion_poll_cb,
|
nvme_completion_poll_cb,
|
||||||
&status);
|
&status);
|
||||||
while (status.done == false) {
|
while (status.done == false) {
|
||||||
|
@ -340,23 +340,37 @@ nvme_ctrlr_cmd_set_async_event_config(struct spdk_nvme_ctrlr *ctrlr,
|
|||||||
|
|
||||||
int
|
int
|
||||||
spdk_nvme_ctrlr_cmd_get_log_page(struct spdk_nvme_ctrlr *ctrlr, uint8_t log_page,
|
spdk_nvme_ctrlr_cmd_get_log_page(struct spdk_nvme_ctrlr *ctrlr, uint8_t log_page,
|
||||||
uint32_t nsid, void *payload, uint32_t payload_size, spdk_nvme_cmd_cb cb_fn,
|
uint32_t nsid, void *payload, uint32_t payload_size,
|
||||||
void *cb_arg)
|
uint64_t offset, spdk_nvme_cmd_cb cb_fn, void *cb_arg)
|
||||||
{
|
{
|
||||||
struct nvme_request *req;
|
struct nvme_request *req;
|
||||||
struct spdk_nvme_cmd *cmd;
|
struct spdk_nvme_cmd *cmd;
|
||||||
uint32_t numd, numdl, numdu;
|
uint32_t numd, numdl, numdu;
|
||||||
|
uint32_t lpol, lpou;
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
if (payload_size == 0) {
|
if (payload_size == 0) {
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (offset & 3) {
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
numd = payload_size / sizeof(uint32_t) - 1u;
|
numd = payload_size / sizeof(uint32_t) - 1u;
|
||||||
numdl = numd & 0xFFFFu;
|
numdl = numd & 0xFFFFu;
|
||||||
numdu = (numd >> 16) & 0xFFFFu;
|
numdu = (numd >> 16) & 0xFFFFu;
|
||||||
|
|
||||||
|
lpol = (uint32_t)offset;
|
||||||
|
lpou = (uint32_t)(offset >> 32);
|
||||||
|
|
||||||
nvme_robust_mutex_lock(&ctrlr->ctrlr_lock);
|
nvme_robust_mutex_lock(&ctrlr->ctrlr_lock);
|
||||||
|
|
||||||
|
if (offset && !ctrlr->cdata.lpa.edlp) {
|
||||||
|
nvme_robust_mutex_unlock(&ctrlr->ctrlr_lock);
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
req = nvme_allocate_request_user_copy(payload, payload_size, cb_fn, cb_arg, false);
|
req = nvme_allocate_request_user_copy(payload, payload_size, cb_fn, cb_arg, false);
|
||||||
if (req == NULL) {
|
if (req == NULL) {
|
||||||
nvme_robust_mutex_unlock(&ctrlr->ctrlr_lock);
|
nvme_robust_mutex_unlock(&ctrlr->ctrlr_lock);
|
||||||
@ -369,6 +383,8 @@ spdk_nvme_ctrlr_cmd_get_log_page(struct spdk_nvme_ctrlr *ctrlr, uint8_t log_page
|
|||||||
cmd->cdw10 = numdl << 16;
|
cmd->cdw10 = numdl << 16;
|
||||||
cmd->cdw10 |= log_page;
|
cmd->cdw10 |= log_page;
|
||||||
cmd->cdw11 = numdu;
|
cmd->cdw11 = numdu;
|
||||||
|
cmd->cdw12 = lpol;
|
||||||
|
cmd->cdw13 = lpou;
|
||||||
|
|
||||||
rc = nvme_ctrlr_submit_admin_request(ctrlr, req);
|
rc = nvme_ctrlr_submit_admin_request(ctrlr, req);
|
||||||
nvme_robust_mutex_unlock(&ctrlr->ctrlr_lock);
|
nvme_robust_mutex_unlock(&ctrlr->ctrlr_lock);
|
||||||
|
@ -1082,7 +1082,7 @@ nvme_fabrics_get_log_discovery_page(struct spdk_nvme_ctrlr *ctrlr,
|
|||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
status.done = false;
|
status.done = false;
|
||||||
rc = spdk_nvme_ctrlr_cmd_get_log_page(ctrlr, SPDK_NVME_LOG_DISCOVERY, 0, log_page, size,
|
rc = spdk_nvme_ctrlr_cmd_get_log_page(ctrlr, SPDK_NVME_LOG_DISCOVERY, 0, log_page, size, 0,
|
||||||
nvme_completion_poll_cb, &status);
|
nvme_completion_poll_cb, &status);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -146,7 +146,7 @@ static int
|
|||||||
get_health_log_page(struct dev *dev)
|
get_health_log_page(struct dev *dev)
|
||||||
{
|
{
|
||||||
return spdk_nvme_ctrlr_cmd_get_log_page(dev->ctrlr, SPDK_NVME_LOG_HEALTH_INFORMATION,
|
return spdk_nvme_ctrlr_cmd_get_log_page(dev->ctrlr, SPDK_NVME_LOG_HEALTH_INFORMATION,
|
||||||
SPDK_NVME_GLOBAL_NS_TAG, dev->health_page, sizeof(*dev->health_page),
|
SPDK_NVME_GLOBAL_NS_TAG, dev->health_page, sizeof(*dev->health_page), 0,
|
||||||
get_log_page_completion, dev);
|
get_log_page_completion, dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -206,8 +206,8 @@ spdk_nvme_ctrlr_cmd_get_feature(struct spdk_nvme_ctrlr *ctrlr, uint8_t feature,
|
|||||||
|
|
||||||
int
|
int
|
||||||
spdk_nvme_ctrlr_cmd_get_log_page(struct spdk_nvme_ctrlr *ctrlr, uint8_t log_page,
|
spdk_nvme_ctrlr_cmd_get_log_page(struct spdk_nvme_ctrlr *ctrlr, uint8_t log_page,
|
||||||
uint32_t nsid, void *payload, uint32_t payload_size, spdk_nvme_cmd_cb cb_fn,
|
uint32_t nsid, void *payload, uint32_t payload_size,
|
||||||
void *cb_arg)
|
uint64_t offset, spdk_nvme_cmd_cb cb_fn, void *cb_arg)
|
||||||
{
|
{
|
||||||
fake_cpl_success(cb_fn, cb_arg);
|
fake_cpl_success(cb_fn, cb_arg);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -315,7 +315,7 @@ test_firmware_get_log_page(void)
|
|||||||
|
|
||||||
spdk_nvme_ctrlr_cmd_get_log_page(&ctrlr, SPDK_NVME_LOG_FIRMWARE_SLOT, SPDK_NVME_GLOBAL_NS_TAG,
|
spdk_nvme_ctrlr_cmd_get_log_page(&ctrlr, SPDK_NVME_LOG_FIRMWARE_SLOT, SPDK_NVME_GLOBAL_NS_TAG,
|
||||||
&payload,
|
&payload,
|
||||||
sizeof(payload), NULL, NULL);
|
sizeof(payload), 0, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -328,7 +328,7 @@ test_health_get_log_page(void)
|
|||||||
|
|
||||||
spdk_nvme_ctrlr_cmd_get_log_page(&ctrlr, SPDK_NVME_LOG_HEALTH_INFORMATION, health_log_nsid,
|
spdk_nvme_ctrlr_cmd_get_log_page(&ctrlr, SPDK_NVME_LOG_HEALTH_INFORMATION, health_log_nsid,
|
||||||
&payload,
|
&payload,
|
||||||
sizeof(payload), NULL, NULL);
|
sizeof(payload), 0, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -344,7 +344,7 @@ test_error_get_log_page(void)
|
|||||||
/* valid page */
|
/* valid page */
|
||||||
error_num_entries = 1;
|
error_num_entries = 1;
|
||||||
spdk_nvme_ctrlr_cmd_get_log_page(&ctrlr, SPDK_NVME_LOG_ERROR, SPDK_NVME_GLOBAL_NS_TAG, &payload,
|
spdk_nvme_ctrlr_cmd_get_log_page(&ctrlr, SPDK_NVME_LOG_ERROR, SPDK_NVME_GLOBAL_NS_TAG, &payload,
|
||||||
sizeof(payload), NULL, NULL);
|
sizeof(payload), 0, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_intel_smart_get_log_page(void)
|
static void test_intel_smart_get_log_page(void)
|
||||||
@ -355,7 +355,7 @@ static void test_intel_smart_get_log_page(void)
|
|||||||
verify_fn = verify_intel_smart_log_page;
|
verify_fn = verify_intel_smart_log_page;
|
||||||
|
|
||||||
spdk_nvme_ctrlr_cmd_get_log_page(&ctrlr, SPDK_NVME_INTEL_LOG_SMART, health_log_nsid, &payload,
|
spdk_nvme_ctrlr_cmd_get_log_page(&ctrlr, SPDK_NVME_INTEL_LOG_SMART, health_log_nsid, &payload,
|
||||||
sizeof(payload), NULL, NULL);
|
sizeof(payload), 0, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_intel_temperature_get_log_page(void)
|
static void test_intel_temperature_get_log_page(void)
|
||||||
@ -366,7 +366,7 @@ static void test_intel_temperature_get_log_page(void)
|
|||||||
verify_fn = verify_intel_temperature_log_page;
|
verify_fn = verify_intel_temperature_log_page;
|
||||||
|
|
||||||
spdk_nvme_ctrlr_cmd_get_log_page(&ctrlr, SPDK_NVME_INTEL_LOG_TEMPERATURE, SPDK_NVME_GLOBAL_NS_TAG,
|
spdk_nvme_ctrlr_cmd_get_log_page(&ctrlr, SPDK_NVME_INTEL_LOG_TEMPERATURE, SPDK_NVME_GLOBAL_NS_TAG,
|
||||||
&payload, sizeof(payload), NULL, NULL);
|
&payload, sizeof(payload), 0, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_intel_read_latency_get_log_page(void)
|
static void test_intel_read_latency_get_log_page(void)
|
||||||
@ -378,7 +378,7 @@ static void test_intel_read_latency_get_log_page(void)
|
|||||||
|
|
||||||
spdk_nvme_ctrlr_cmd_get_log_page(&ctrlr, SPDK_NVME_INTEL_LOG_READ_CMD_LATENCY,
|
spdk_nvme_ctrlr_cmd_get_log_page(&ctrlr, SPDK_NVME_INTEL_LOG_READ_CMD_LATENCY,
|
||||||
SPDK_NVME_GLOBAL_NS_TAG,
|
SPDK_NVME_GLOBAL_NS_TAG,
|
||||||
&payload, sizeof(payload), NULL, NULL);
|
&payload, sizeof(payload), 0, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_intel_write_latency_get_log_page(void)
|
static void test_intel_write_latency_get_log_page(void)
|
||||||
@ -390,7 +390,7 @@ static void test_intel_write_latency_get_log_page(void)
|
|||||||
|
|
||||||
spdk_nvme_ctrlr_cmd_get_log_page(&ctrlr, SPDK_NVME_INTEL_LOG_WRITE_CMD_LATENCY,
|
spdk_nvme_ctrlr_cmd_get_log_page(&ctrlr, SPDK_NVME_INTEL_LOG_WRITE_CMD_LATENCY,
|
||||||
SPDK_NVME_GLOBAL_NS_TAG,
|
SPDK_NVME_GLOBAL_NS_TAG,
|
||||||
&payload, sizeof(payload), NULL, NULL);
|
&payload, sizeof(payload), 0, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_intel_get_log_page_directory(void)
|
static void test_intel_get_log_page_directory(void)
|
||||||
@ -402,7 +402,7 @@ static void test_intel_get_log_page_directory(void)
|
|||||||
|
|
||||||
spdk_nvme_ctrlr_cmd_get_log_page(&ctrlr, SPDK_NVME_INTEL_LOG_PAGE_DIRECTORY,
|
spdk_nvme_ctrlr_cmd_get_log_page(&ctrlr, SPDK_NVME_INTEL_LOG_PAGE_DIRECTORY,
|
||||||
SPDK_NVME_GLOBAL_NS_TAG,
|
SPDK_NVME_GLOBAL_NS_TAG,
|
||||||
&payload, sizeof(payload), NULL, NULL);
|
&payload, sizeof(payload), 0, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_intel_marketing_description_get_log_page(void)
|
static void test_intel_marketing_description_get_log_page(void)
|
||||||
@ -414,7 +414,7 @@ static void test_intel_marketing_description_get_log_page(void)
|
|||||||
|
|
||||||
spdk_nvme_ctrlr_cmd_get_log_page(&ctrlr, SPDK_NVME_INTEL_MARKETING_DESCRIPTION,
|
spdk_nvme_ctrlr_cmd_get_log_page(&ctrlr, SPDK_NVME_INTEL_MARKETING_DESCRIPTION,
|
||||||
SPDK_NVME_GLOBAL_NS_TAG,
|
SPDK_NVME_GLOBAL_NS_TAG,
|
||||||
&payload, sizeof(payload), NULL, NULL);
|
&payload, sizeof(payload), 0, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_generic_get_log_pages(void)
|
static void test_generic_get_log_pages(void)
|
||||||
|
Loading…
Reference in New Issue
Block a user