nvmf: move g_discovery_log_page variable under g_nvmf_tgt

Change-Id: Iae5234689df5c94fcf6bbef3a10aebe06b2ddd9e
Signed-off-by: GangCao <gang.cao@intel.com>
This commit is contained in:
GangCao 2017-02-17 09:47:56 +08:00 committed by Daniel Verkamp
parent 50baa132e3
commit 905b03786c
4 changed files with 10 additions and 9 deletions

View File

@ -60,6 +60,7 @@ spdk_nvmf_tgt_init(uint16_t max_queue_depth, uint16_t max_queues_per_sess,
g_nvmf_tgt.max_io_size = max_io_size;
g_nvmf_tgt.discovery_genctr = 0;
TAILQ_INIT(&g_nvmf_tgt.subsystems);
g_nvmf_tgt.discovery_log_page = NULL;
SPDK_TRACELOG(SPDK_TRACE_NVMF, "Max Queues Per Session: %d\n", max_queues_per_sess);
SPDK_TRACELOG(SPDK_TRACE_NVMF, "Max Queue Depth: %d\n", max_queue_depth);

View File

@ -53,6 +53,7 @@ struct spdk_nvmf_tgt {
uint32_t max_io_size;
uint64_t discovery_genctr;
TAILQ_HEAD(, spdk_nvmf_subsystem) subsystems;
struct spdk_nvmf_discovery_log_page *discovery_log_page;
};
extern struct spdk_nvmf_tgt g_nvmf_tgt;

View File

@ -46,7 +46,6 @@
#include "spdk_internal/bdev.h"
#include "spdk_internal/log.h"
static struct spdk_nvmf_discovery_log_page *g_discovery_log_page = NULL;
static size_t g_discovery_log_page_size = 0;
bool
@ -374,9 +373,9 @@ nvmf_update_discovery_log(void)
disc_log->numrec = numrec;
disc_log->genctr = g_nvmf_tgt.discovery_genctr;
free(g_discovery_log_page);
free(g_nvmf_tgt.discovery_log_page);
g_discovery_log_page = disc_log;
g_nvmf_tgt.discovery_log_page = disc_log;
g_discovery_log_page_size = cur_size;
}
@ -386,16 +385,16 @@ spdk_nvmf_get_discovery_log_page(void *buffer, uint64_t offset, uint32_t length)
size_t copy_len = 0;
size_t zero_len = length;
if (g_discovery_log_page == NULL ||
g_discovery_log_page->genctr != g_nvmf_tgt.discovery_genctr) {
if (g_nvmf_tgt.discovery_log_page == NULL ||
g_nvmf_tgt.discovery_log_page->genctr != g_nvmf_tgt.discovery_genctr) {
nvmf_update_discovery_log();
}
/* Copy the valid part of the discovery log page, if any */
if (g_discovery_log_page && offset < g_discovery_log_page_size) {
if (g_nvmf_tgt.discovery_log_page && offset < g_discovery_log_page_size) {
copy_len = spdk_min(g_discovery_log_page_size - offset, length);
zero_len -= copy_len;
memcpy(buffer, (char *)g_discovery_log_page + offset, copy_len);
memcpy(buffer, (char *)g_nvmf_tgt.discovery_log_page + offset, copy_len);
}
/* Zero out the rest of the buffer */

View File

@ -227,8 +227,8 @@ test_discovery_log(void)
/* Reset discovery-related globals */
g_nvmf_tgt.discovery_genctr = 0;
free(g_discovery_log_page);
g_discovery_log_page = NULL;
free(g_nvmf_tgt.discovery_log_page);
g_nvmf_tgt.discovery_log_page = NULL;
g_discovery_log_page_size = 0;
/* Add one subsystem and verify that the discovery log contains it */