lib/nvmf: Add ANA state to struct spdk_nvmf_subsystem_listener

Add ANA state to struct spdk_nvmf_subsystem_listener and initialize
it to optimized.

Then ctrlr->listener->ana_state is referred when creating ANA log page.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I978424e51d3f23ca72dee30192bc2693abfe203d
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4012
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
This commit is contained in:
Shuhei Matsumoto 2020-09-01 23:06:03 +09:00 committed by Tomasz Zawadzki
parent 5b27db6268
commit 4688f0819f
3 changed files with 3 additions and 1 deletions

View File

@ -1708,7 +1708,7 @@ nvmf_get_ana_log_page(struct spdk_nvmf_ctrlr *ctrlr, void *data,
ana_desc->ana_group_id = ns->nsid; ana_desc->ana_group_id = ns->nsid;
ana_desc->num_of_nsid = 1; ana_desc->num_of_nsid = 1;
ana_desc->ana_state = SPDK_NVME_ANA_OPTIMIZED_STATE; ana_desc->ana_state = ctrlr->listener->ana_state;
ana_desc->nsid[0] = ns->nsid; ana_desc->nsid[0] = ns->nsid;
/* TODO: Support Change Count. */ /* TODO: Support Change Count. */
ana_desc->change_count = 0; ana_desc->change_count = 0;

View File

@ -95,6 +95,7 @@ struct spdk_nvmf_subsystem_listener {
void *cb_arg; void *cb_arg;
struct spdk_nvme_transport_id *trid; struct spdk_nvme_transport_id *trid;
struct spdk_nvmf_transport *transport; struct spdk_nvmf_transport *transport;
enum spdk_nvme_ana_state ana_state;
TAILQ_ENTRY(spdk_nvmf_subsystem_listener) link; TAILQ_ENTRY(spdk_nvmf_subsystem_listener) link;
}; };

View File

@ -828,6 +828,7 @@ spdk_nvmf_subsystem_add_listener(struct spdk_nvmf_subsystem *subsystem,
listener->cb_fn = cb_fn; listener->cb_fn = cb_fn;
listener->cb_arg = cb_arg; listener->cb_arg = cb_arg;
listener->subsystem = subsystem; listener->subsystem = subsystem;
listener->ana_state = SPDK_NVME_ANA_OPTIMIZED_STATE;
if (transport->ops->listen_associate != NULL) { if (transport->ops->listen_associate != NULL) {
transport->ops->listen_associate(transport, subsystem, trid, transport->ops->listen_associate(transport, subsystem, trid,