@@ -4520,7 +4520,7 @@ static void json_print_detail_list(nvme_subsystem_t s, struct json_object *jss)
45204520 obj_add_obj (jss , "Controllers" , jctrls );
45214521}
45224522
4523- static void json_detail_list_v2 (struct nvme_global_ctx * ctx )
4523+ static void json_detail_list (struct nvme_global_ctx * ctx )
45244524{
45254525 struct json_object * r = json_create_object ();
45264526 struct json_object * jdev = json_create_array ();
@@ -4561,112 +4561,6 @@ static void json_detail_list_v2(struct nvme_global_ctx *ctx)
45614561 json_print (r );
45624562}
45634563
4564- static void json_detail_list (struct nvme_global_ctx * ctx )
4565- {
4566- struct json_object * r = json_create_object ();
4567- struct json_object * jdev = json_create_array ();
4568-
4569- nvme_host_t h ;
4570- nvme_subsystem_t s ;
4571- nvme_ctrl_t c ;
4572- nvme_path_t p ;
4573- nvme_ns_t n ;
4574-
4575- nvme_for_each_host (ctx , h ) {
4576- struct json_object * hss = json_create_object ();
4577- struct json_object * jsslist = json_create_array ();
4578- const char * hostid ;
4579-
4580- obj_add_str (hss , "HostNQN" , nvme_host_get_hostnqn (h ));
4581- hostid = nvme_host_get_hostid (h );
4582- if (hostid )
4583- obj_add_str (hss , "HostID" , hostid );
4584-
4585- nvme_for_each_subsystem (h , s ) {
4586- struct json_object * jss = json_create_object ();
4587- struct json_object * jctrls = json_create_array ();
4588- struct json_object * jnss = json_create_array ();
4589-
4590- obj_add_str (jss , "Subsystem" , nvme_subsystem_get_name (s ));
4591- obj_add_str (jss , "SubsystemNQN" , nvme_subsystem_get_nqn (s ));
4592-
4593- nvme_subsystem_for_each_ctrl (s , c ) {
4594- struct json_object * jctrl = json_create_object ();
4595- struct json_object * jnss = json_create_array ();
4596- struct json_object * jpaths = json_create_array ();
4597-
4598- obj_add_str (jctrl , "Controller" , nvme_ctrl_get_name (c ));
4599- obj_add_str (jctrl , "Cntlid" , nvme_ctrl_get_cntlid (c ));
4600- obj_add_str (jctrl , "SerialNumber" , nvme_ctrl_get_serial (c ));
4601- obj_add_str (jctrl , "ModelNumber" , nvme_ctrl_get_model (c ));
4602- obj_add_str (jctrl , "Firmware" , nvme_ctrl_get_firmware (c ));
4603- obj_add_str (jctrl , "Transport" , nvme_ctrl_get_transport (c ));
4604- obj_add_str (jctrl , "Address" , nvme_ctrl_get_address (c ));
4605- obj_add_str (jctrl , "Slot" , nvme_ctrl_get_phy_slot (c ));
4606-
4607- nvme_ctrl_for_each_ns (c , n ) {
4608- struct json_object * jns = json_create_object ();
4609- int lba = nvme_ns_get_lba_size (n );
4610- uint64_t nsze = nvme_ns_get_lba_count (n ) * lba ;
4611- uint64_t nuse = nvme_ns_get_lba_util (n ) * lba ;
4612-
4613- obj_add_str (jns , "NameSpace" , nvme_ns_get_name (n ));
4614- obj_add_str (jns , "Generic" , nvme_ns_get_generic_name (n ));
4615- obj_add_int (jns , "NSID" , nvme_ns_get_nsid (n ));
4616- obj_add_uint64 (jns , "UsedBytes" , nuse );
4617- obj_add_uint64 (jns , "MaximumLBA" , nvme_ns_get_lba_count (n ));
4618- obj_add_uint64 (jns , "PhysicalSize" , nsze );
4619- obj_add_int (jns , "SectorSize" , lba );
4620-
4621- array_add_obj (jnss , jns );
4622- }
4623- obj_add_obj (jctrl , "Namespaces" , jnss );
4624-
4625- nvme_ctrl_for_each_path (c , p ) {
4626- struct json_object * jpath = json_create_object ();
4627-
4628- obj_add_str (jpath , "Path" , nvme_path_get_name (p ));
4629- obj_add_str (jpath , "ANAState" , nvme_path_get_ana_state (p ));
4630-
4631- array_add_obj (jpaths , jpath );
4632- }
4633- obj_add_obj (jctrl , "Paths" , jpaths );
4634-
4635- array_add_obj (jctrls , jctrl );
4636- }
4637- obj_add_obj (jss , "Controllers" , jctrls );
4638-
4639- nvme_subsystem_for_each_ns (s , n ) {
4640- struct json_object * jns = json_create_object ();
4641-
4642- int lba = nvme_ns_get_lba_size (n );
4643- uint64_t nsze = nvme_ns_get_lba_count (n ) * lba ;
4644- uint64_t nuse = nvme_ns_get_lba_util (n ) * lba ;
4645-
4646- obj_add_str (jns , "NameSpace" , nvme_ns_get_name (n ));
4647- obj_add_str (jns , "Generic" , nvme_ns_get_generic_name (n ));
4648- obj_add_int (jns , "NSID" , nvme_ns_get_nsid (n ));
4649- obj_add_uint64 (jns , "UsedBytes" , nuse );
4650- obj_add_uint64 (jns , "MaximumLBA" , nvme_ns_get_lba_count (n ));
4651- obj_add_uint64 (jns , "PhysicalSize" , nsze );
4652- obj_add_int (jns , "SectorSize" , lba );
4653-
4654- array_add_obj (jnss , jns );
4655- }
4656- obj_add_obj (jss , "Namespaces" , jnss );
4657-
4658- array_add_obj (jsslist , jss );
4659- }
4660-
4661- obj_add_obj (hss , "Subsystems" , jsslist );
4662- array_add_obj (jdev , hss );
4663- }
4664-
4665- obj_add_array (r , "Devices" , jdev );
4666-
4667- json_print (r );
4668- }
4669-
46704564static struct json_object * json_list_item_obj (nvme_ns_t n )
46714565{
46724566 struct json_object * r = json_create_object ();
@@ -4729,12 +4623,9 @@ static void json_list_item(nvme_ns_t n, struct table *t)
47294623
47304624static void json_print_list_items (struct nvme_global_ctx * ctx )
47314625{
4732- if (json_print_ops .flags & VERBOSE ) {
4733- if (nvme_cfg .output_format_ver == 2 )
4734- json_detail_list_v2 (ctx );
4735- else
4736- json_detail_list (ctx );
4737- } else
4626+ if (json_print_ops .flags & VERBOSE )
4627+ json_detail_list (ctx );
4628+ else
47384629 json_simple_list (ctx );
47394630}
47404631
0 commit comments