@@ -4683,7 +4683,7 @@ static void json_print_detail_list(nvme_subsystem_t s, struct json_object *jss)
46834683 obj_add_obj (jss , "Controllers" , jctrls );
46844684}
46854685
4686- static void json_detail_list_v2 (struct nvme_global_ctx * ctx )
4686+ static void json_detail_list (struct nvme_global_ctx * ctx )
46874687{
46884688 struct json_object * r = json_create_object ();
46894689 struct json_object * jdev = json_create_array ();
@@ -4724,112 +4724,6 @@ static void json_detail_list_v2(struct nvme_global_ctx *ctx)
47244724 json_print (r );
47254725}
47264726
4727- static void json_detail_list (struct nvme_global_ctx * ctx )
4728- {
4729- struct json_object * r = json_create_object ();
4730- struct json_object * jdev = json_create_array ();
4731-
4732- nvme_host_t h ;
4733- nvme_subsystem_t s ;
4734- nvme_ctrl_t c ;
4735- nvme_path_t p ;
4736- nvme_ns_t n ;
4737-
4738- nvme_for_each_host (ctx , h ) {
4739- struct json_object * hss = json_create_object ();
4740- struct json_object * jsslist = json_create_array ();
4741- const char * hostid ;
4742-
4743- obj_add_str (hss , "HostNQN" , nvme_host_get_hostnqn (h ));
4744- hostid = nvme_host_get_hostid (h );
4745- if (hostid )
4746- obj_add_str (hss , "HostID" , hostid );
4747-
4748- nvme_for_each_subsystem (h , s ) {
4749- struct json_object * jss = json_create_object ();
4750- struct json_object * jctrls = json_create_array ();
4751- struct json_object * jnss = json_create_array ();
4752-
4753- obj_add_str (jss , "Subsystem" , nvme_subsystem_get_name (s ));
4754- obj_add_str (jss , "SubsystemNQN" , nvme_subsystem_get_nqn (s ));
4755-
4756- nvme_subsystem_for_each_ctrl (s , c ) {
4757- struct json_object * jctrl = json_create_object ();
4758- struct json_object * jnss = json_create_array ();
4759- struct json_object * jpaths = json_create_array ();
4760-
4761- obj_add_str (jctrl , "Controller" , nvme_ctrl_get_name (c ));
4762- obj_add_str (jctrl , "Cntlid" , nvme_ctrl_get_cntlid (c ));
4763- obj_add_str (jctrl , "SerialNumber" , nvme_ctrl_get_serial (c ));
4764- obj_add_str (jctrl , "ModelNumber" , nvme_ctrl_get_model (c ));
4765- obj_add_str (jctrl , "Firmware" , nvme_ctrl_get_firmware (c ));
4766- obj_add_str (jctrl , "Transport" , nvme_ctrl_get_transport (c ));
4767- obj_add_str (jctrl , "Address" , nvme_ctrl_get_address (c ));
4768- obj_add_str (jctrl , "Slot" , nvme_ctrl_get_phy_slot (c ));
4769-
4770- nvme_ctrl_for_each_ns (c , n ) {
4771- struct json_object * jns = json_create_object ();
4772- int lba = nvme_ns_get_lba_size (n );
4773- uint64_t nsze = nvme_ns_get_lba_count (n ) * lba ;
4774- uint64_t nuse = nvme_ns_get_lba_util (n ) * lba ;
4775-
4776- obj_add_str (jns , "NameSpace" , nvme_ns_get_name (n ));
4777- obj_add_str (jns , "Generic" , nvme_ns_get_generic_name (n ));
4778- obj_add_int (jns , "NSID" , nvme_ns_get_nsid (n ));
4779- obj_add_uint64 (jns , "UsedBytes" , nuse );
4780- obj_add_uint64 (jns , "MaximumLBA" , nvme_ns_get_lba_count (n ));
4781- obj_add_uint64 (jns , "PhysicalSize" , nsze );
4782- obj_add_int (jns , "SectorSize" , lba );
4783-
4784- array_add_obj (jnss , jns );
4785- }
4786- obj_add_obj (jctrl , "Namespaces" , jnss );
4787-
4788- nvme_ctrl_for_each_path (c , p ) {
4789- struct json_object * jpath = json_create_object ();
4790-
4791- obj_add_str (jpath , "Path" , nvme_path_get_name (p ));
4792- obj_add_str (jpath , "ANAState" , nvme_path_get_ana_state (p ));
4793-
4794- array_add_obj (jpaths , jpath );
4795- }
4796- obj_add_obj (jctrl , "Paths" , jpaths );
4797-
4798- array_add_obj (jctrls , jctrl );
4799- }
4800- obj_add_obj (jss , "Controllers" , jctrls );
4801-
4802- nvme_subsystem_for_each_ns (s , n ) {
4803- struct json_object * jns = json_create_object ();
4804-
4805- int lba = nvme_ns_get_lba_size (n );
4806- uint64_t nsze = nvme_ns_get_lba_count (n ) * lba ;
4807- uint64_t nuse = nvme_ns_get_lba_util (n ) * lba ;
4808-
4809- obj_add_str (jns , "NameSpace" , nvme_ns_get_name (n ));
4810- obj_add_str (jns , "Generic" , nvme_ns_get_generic_name (n ));
4811- obj_add_int (jns , "NSID" , nvme_ns_get_nsid (n ));
4812- obj_add_uint64 (jns , "UsedBytes" , nuse );
4813- obj_add_uint64 (jns , "MaximumLBA" , nvme_ns_get_lba_count (n ));
4814- obj_add_uint64 (jns , "PhysicalSize" , nsze );
4815- obj_add_int (jns , "SectorSize" , lba );
4816-
4817- array_add_obj (jnss , jns );
4818- }
4819- obj_add_obj (jss , "Namespaces" , jnss );
4820-
4821- array_add_obj (jsslist , jss );
4822- }
4823-
4824- obj_add_obj (hss , "Subsystems" , jsslist );
4825- array_add_obj (jdev , hss );
4826- }
4827-
4828- obj_add_array (r , "Devices" , jdev );
4829-
4830- json_print (r );
4831- }
4832-
48334727static struct json_object * json_list_item_obj (nvme_ns_t n )
48344728{
48354729 struct json_object * r = json_create_object ();
@@ -4892,12 +4786,9 @@ static void json_list_item(nvme_ns_t n, struct table *t)
48924786
48934787static void json_print_list_items (struct nvme_global_ctx * ctx )
48944788{
4895- if (json_print_ops .flags & VERBOSE ) {
4896- if (nvme_args .output_format_ver == 2 )
4897- json_detail_list_v2 (ctx );
4898- else
4899- json_detail_list (ctx );
4900- } else
4789+ if (json_print_ops .flags & VERBOSE )
4790+ json_detail_list (ctx );
4791+ else
49014792 json_simple_list (ctx );
49024793}
49034794
0 commit comments