nvmf: Add ana_reporting parameter into JSON config dump
We could not restore the setting of ana_reporting because it was not included in the JSON config dump. Add the parameter ana_reporting into JSON config dump by adding and using a new helper function nvmf_subsystem_get_ana_reporting(). Besides, previously the JSON RPC nvmf_subsystem_get_listeners had ana_state regardless of the value of ana_reporting. We make it conditional in this patch. The JSON RPC nvmf_subsystem_get_listeners had not been used in the test code in the repository. Hence this change will be acceptable. Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Change-Id: Ia4e04600c969c254e0a816d3eb34983ee951091e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9111 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Monica Kenguva <monica.kenguva@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
parent
d2dd47433b
commit
2a67deefc0
@ -467,6 +467,7 @@ nvmf_write_subsystem_config_json(struct spdk_json_write_ctx *w,
|
|||||||
|
|
||||||
spdk_json_write_named_uint32(w, "min_cntlid", spdk_nvmf_subsystem_get_min_cntlid(subsystem));
|
spdk_json_write_named_uint32(w, "min_cntlid", spdk_nvmf_subsystem_get_min_cntlid(subsystem));
|
||||||
spdk_json_write_named_uint32(w, "max_cntlid", spdk_nvmf_subsystem_get_max_cntlid(subsystem));
|
spdk_json_write_named_uint32(w, "max_cntlid", spdk_nvmf_subsystem_get_max_cntlid(subsystem));
|
||||||
|
spdk_json_write_named_bool(w, "ana_reporting", nvmf_subsystem_get_ana_reporting(subsystem));
|
||||||
|
|
||||||
/* } "params" */
|
/* } "params" */
|
||||||
spdk_json_write_object_end(w);
|
spdk_json_write_object_end(w);
|
||||||
|
@ -387,6 +387,7 @@ void nvmf_subsystem_set_ana_state(struct spdk_nvmf_subsystem *subsystem,
|
|||||||
const struct spdk_nvme_transport_id *trid,
|
const struct spdk_nvme_transport_id *trid,
|
||||||
enum spdk_nvme_ana_state ana_state,
|
enum spdk_nvme_ana_state ana_state,
|
||||||
spdk_nvmf_tgt_subsystem_listen_done_fn cb_fn, void *cb_arg);
|
spdk_nvmf_tgt_subsystem_listen_done_fn cb_fn, void *cb_arg);
|
||||||
|
bool nvmf_subsystem_get_ana_reporting(struct spdk_nvmf_subsystem *subsystem);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the controller ID range for a subsystem.
|
* Sets the controller ID range for a subsystem.
|
||||||
|
@ -2221,8 +2221,10 @@ dump_nvmf_subsystem_listener(struct spdk_json_write_ctx *w,
|
|||||||
spdk_json_write_named_string(w, "trsvcid", trid->trsvcid);
|
spdk_json_write_named_string(w, "trsvcid", trid->trsvcid);
|
||||||
spdk_json_write_object_end(w);
|
spdk_json_write_object_end(w);
|
||||||
|
|
||||||
spdk_json_write_named_string(w, "ana_state",
|
if (nvmf_subsystem_get_ana_reporting(listener->subsystem)) {
|
||||||
nvme_ana_state_str(listener->ana_state));
|
spdk_json_write_named_string(w, "ana_state",
|
||||||
|
nvme_ana_state_str(listener->ana_state));
|
||||||
|
}
|
||||||
|
|
||||||
spdk_json_write_object_end(w);
|
spdk_json_write_object_end(w);
|
||||||
}
|
}
|
||||||
|
@ -2871,6 +2871,12 @@ spdk_nvmf_subsystem_set_ana_reporting(struct spdk_nvmf_subsystem *subsystem,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
nvmf_subsystem_get_ana_reporting(struct spdk_nvmf_subsystem *subsystem)
|
||||||
|
{
|
||||||
|
return subsystem->flags.ana_reporting;
|
||||||
|
}
|
||||||
|
|
||||||
struct subsystem_listener_update_ctx {
|
struct subsystem_listener_update_ctx {
|
||||||
struct spdk_nvmf_subsystem_listener *listener;
|
struct spdk_nvmf_subsystem_listener *listener;
|
||||||
|
|
||||||
|
@ -91,6 +91,7 @@ DEFINE_STUB(spdk_nvmf_subsystem_get_next_host, struct spdk_nvmf_host *,
|
|||||||
(struct spdk_nvmf_subsystem *subsystem, struct spdk_nvmf_host *prev_host), NULL);
|
(struct spdk_nvmf_subsystem *subsystem, struct spdk_nvmf_host *prev_host), NULL);
|
||||||
DEFINE_STUB(spdk_nvmf_subsystem_get_first_ns, struct spdk_nvmf_ns *,
|
DEFINE_STUB(spdk_nvmf_subsystem_get_first_ns, struct spdk_nvmf_ns *,
|
||||||
(struct spdk_nvmf_subsystem *subsystem), NULL);
|
(struct spdk_nvmf_subsystem *subsystem), NULL);
|
||||||
|
DEFINE_STUB(nvmf_subsystem_get_ana_reporting, bool, (struct spdk_nvmf_subsystem *subsystem), false);
|
||||||
DEFINE_STUB_V(spdk_nvmf_ns_get_opts, (const struct spdk_nvmf_ns *ns,
|
DEFINE_STUB_V(spdk_nvmf_ns_get_opts, (const struct spdk_nvmf_ns *ns,
|
||||||
struct spdk_nvmf_ns_opts *opts, size_t opts_size));
|
struct spdk_nvmf_ns_opts *opts, size_t opts_size));
|
||||||
DEFINE_STUB(spdk_nvmf_ns_get_id, uint32_t, (const struct spdk_nvmf_ns *ns), 0);
|
DEFINE_STUB(spdk_nvmf_ns_get_id, uint32_t, (const struct spdk_nvmf_ns *ns), 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user