nvmf: Dump new-style configuration RPCs
Avoid using the deprecated construct_nvmf_subsystem when dumping configuration. Change-Id: I908d87bdd77a8b2a8e54baeb7b73e8b52c4912ee Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/425186 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
parent
ca12cb3097
commit
523810947e
127
lib/nvmf/nvmf.c
127
lib/nvmf/nvmf.c
@ -332,46 +332,12 @@ spdk_nvmf_write_subsystem_config_json(struct spdk_json_write_ctx *w,
|
||||
|
||||
/* { */
|
||||
spdk_json_write_object_begin(w);
|
||||
spdk_json_write_named_string(w, "method", "construct_nvmf_subsystem");
|
||||
spdk_json_write_named_string(w, "method", "nvmf_subsystem_create");
|
||||
|
||||
/* "params" : { */
|
||||
spdk_json_write_named_object_begin(w, "params");
|
||||
spdk_json_write_named_string(w, "nqn", spdk_nvmf_subsystem_get_nqn(subsystem));
|
||||
spdk_json_write_named_bool(w, "allow_any_host", spdk_nvmf_subsystem_get_allow_any_host(subsystem));
|
||||
|
||||
/* "listen_addresses" : [ */
|
||||
spdk_json_write_named_array_begin(w, "listen_addresses");
|
||||
for (listener = spdk_nvmf_subsystem_get_first_listener(subsystem); listener != NULL;
|
||||
listener = spdk_nvmf_subsystem_get_next_listener(subsystem, listener)) {
|
||||
trid = spdk_nvmf_listener_get_trid(listener);
|
||||
|
||||
trtype = spdk_nvme_transport_id_trtype_str(trid->trtype);
|
||||
adrfam = spdk_nvme_transport_id_adrfam_str(trid->adrfam);
|
||||
|
||||
/* { */
|
||||
spdk_json_write_object_begin(w);
|
||||
spdk_json_write_named_string(w, "trtype", trtype);
|
||||
if (adrfam) {
|
||||
spdk_json_write_named_string(w, "adrfam", adrfam);
|
||||
}
|
||||
|
||||
spdk_json_write_named_string(w, "traddr", trid->traddr);
|
||||
spdk_json_write_named_string(w, "trsvcid", trid->trsvcid);
|
||||
spdk_json_write_object_end(w);
|
||||
/* } */
|
||||
}
|
||||
spdk_json_write_array_end(w);
|
||||
/* ] "listen_addresses" */
|
||||
|
||||
/* "hosts" : [ */
|
||||
spdk_json_write_named_array_begin(w, "hosts");
|
||||
for (host = spdk_nvmf_subsystem_get_first_host(subsystem); host != NULL;
|
||||
host = spdk_nvmf_subsystem_get_next_host(subsystem, host)) {
|
||||
spdk_json_write_string(w, spdk_nvmf_host_get_nqn(host));
|
||||
}
|
||||
spdk_json_write_array_end(w);
|
||||
/* ] "hosts" */
|
||||
|
||||
spdk_json_write_named_string(w, "serial_number", spdk_nvmf_subsystem_get_sn(subsystem));
|
||||
|
||||
max_namespaces = spdk_nvmf_subsystem_get_max_namespaces(subsystem);
|
||||
@ -379,14 +345,81 @@ spdk_nvmf_write_subsystem_config_json(struct spdk_json_write_ctx *w,
|
||||
spdk_json_write_named_uint32(w, "max_namespaces", max_namespaces);
|
||||
}
|
||||
|
||||
/* "namespaces" : [ */
|
||||
spdk_json_write_named_array_begin(w, "namespaces");
|
||||
/* } "params" */
|
||||
spdk_json_write_object_end(w);
|
||||
|
||||
/* } */
|
||||
spdk_json_write_object_end(w);
|
||||
|
||||
for (listener = spdk_nvmf_subsystem_get_first_listener(subsystem); listener != NULL;
|
||||
listener = spdk_nvmf_subsystem_get_next_listener(subsystem, listener)) {
|
||||
trid = spdk_nvmf_listener_get_trid(listener);
|
||||
|
||||
trtype = spdk_nvme_transport_id_trtype_str(trid->trtype);
|
||||
adrfam = spdk_nvme_transport_id_adrfam_str(trid->adrfam);
|
||||
|
||||
spdk_json_write_object_begin(w);
|
||||
spdk_json_write_named_string(w, "method", "nvmf_subsystem_add_listener");
|
||||
|
||||
/* "params" : { */
|
||||
spdk_json_write_named_object_begin(w, "params");
|
||||
|
||||
spdk_json_write_named_string(w, "nqn", spdk_nvmf_subsystem_get_nqn(subsystem));
|
||||
|
||||
/* "listen_address" : { */
|
||||
spdk_json_write_named_object_begin(w, "listen_address");
|
||||
|
||||
spdk_json_write_named_string(w, "trtype", trtype);
|
||||
if (adrfam) {
|
||||
spdk_json_write_named_string(w, "adrfam", adrfam);
|
||||
}
|
||||
|
||||
spdk_json_write_named_string(w, "traddr", trid->traddr);
|
||||
spdk_json_write_named_string(w, "trsvcid", trid->trsvcid);
|
||||
/* } "listen_address" */
|
||||
spdk_json_write_object_end(w);
|
||||
|
||||
/* } "params" */
|
||||
spdk_json_write_object_end(w);
|
||||
|
||||
/* } */
|
||||
spdk_json_write_object_end(w);
|
||||
}
|
||||
|
||||
for (host = spdk_nvmf_subsystem_get_first_host(subsystem); host != NULL;
|
||||
host = spdk_nvmf_subsystem_get_next_host(subsystem, host)) {
|
||||
|
||||
spdk_json_write_object_begin(w);
|
||||
spdk_json_write_named_string(w, "method", "nvmf_subsystem_add_host");
|
||||
|
||||
/* "params" : { */
|
||||
spdk_json_write_named_object_begin(w, "params");
|
||||
|
||||
spdk_json_write_named_string(w, "nqn", spdk_nvmf_subsystem_get_nqn(subsystem));
|
||||
spdk_json_write_named_string(w, "host", spdk_nvmf_host_get_nqn(host));
|
||||
|
||||
/* } "params" */
|
||||
spdk_json_write_object_end(w);
|
||||
|
||||
/* } */
|
||||
spdk_json_write_object_end(w);
|
||||
}
|
||||
|
||||
for (ns = spdk_nvmf_subsystem_get_first_ns(subsystem); ns != NULL;
|
||||
ns = spdk_nvmf_subsystem_get_next_ns(subsystem, ns)) {
|
||||
spdk_nvmf_ns_get_opts(ns, &ns_opts, sizeof(ns_opts));
|
||||
|
||||
/* { */
|
||||
spdk_json_write_object_begin(w);
|
||||
spdk_json_write_named_string(w, "method", "nvmf_subsystem_add_ns");
|
||||
|
||||
/* "params" : { */
|
||||
spdk_json_write_named_object_begin(w, "params");
|
||||
|
||||
spdk_json_write_named_string(w, "nqn", spdk_nvmf_subsystem_get_nqn(subsystem));
|
||||
|
||||
/* "namespace" : { */
|
||||
spdk_json_write_named_object_begin(w, "namespace");
|
||||
|
||||
spdk_json_write_named_uint32(w, "nsid", spdk_nvmf_ns_get_id(ns));
|
||||
spdk_json_write_named_string(w, "bdev_name", spdk_bdev_get_name(spdk_nvmf_ns_get_bdev(ns)));
|
||||
|
||||
@ -405,18 +438,16 @@ spdk_nvmf_write_subsystem_config_json(struct spdk_json_write_ctx *w,
|
||||
spdk_uuid_fmt_lower(uuid_str, sizeof(uuid_str), &ns_opts.uuid);
|
||||
spdk_json_write_named_string(w, "uuid", uuid_str);
|
||||
}
|
||||
/* } */
|
||||
|
||||
/* "namespace" */
|
||||
spdk_json_write_object_end(w);
|
||||
|
||||
/* } "params" */
|
||||
spdk_json_write_object_end(w);
|
||||
|
||||
/* } */
|
||||
spdk_json_write_object_end(w);
|
||||
}
|
||||
|
||||
/* ] "namespaces" */
|
||||
spdk_json_write_array_end(w);
|
||||
|
||||
/* } "params" */
|
||||
spdk_json_write_object_end(w);
|
||||
|
||||
/* } */
|
||||
spdk_json_write_object_end(w);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -81,12 +81,11 @@ def clear_bdev_subsystem(args, bdev_config):
|
||||
|
||||
|
||||
def get_nvmf_destroy_method(nvmf):
|
||||
destroy_method_map = {'construct_nvmf_subsystem': "delete_nvmf_subsystem",
|
||||
'set_nvmf_target_config': None,
|
||||
'set_nvmf_target_options': None,
|
||||
'nvmf_create_transport': None
|
||||
}
|
||||
return destroy_method_map[nvmf['method']]
|
||||
destroy_method_map = {'nvmf_subsystem_create': "delete_nvmf_subsystem"}
|
||||
try:
|
||||
return destroy_method_map[nvmf['method']]
|
||||
except KeyError:
|
||||
return None
|
||||
|
||||
|
||||
def clear_nvmf_subsystem(args, nvmf_config):
|
||||
|
Loading…
Reference in New Issue
Block a user