@@ -111,7 +111,7 @@ struct nvmf_args {
111111};
112112
113113#define NVMF_ARGS (n , f , c , ...) \
114- struct argconfig_commandline_options n[] = { \
114+ NVME_ARGS(n, \
115115 OPT_STRING("transport", 't', "STR", &f.transport, nvmf_tport), \
116116 OPT_STRING("nqn", 'n', "STR", &f.subsysnqn, nvmf_nqn), \
117117 OPT_STRING("traddr", 'a', "STR", &f.traddr, nvmf_traddr), \
@@ -141,9 +141,9 @@ struct nvmf_args {
141141 OPT_FLAG("data-digest", 'G', &c.data_digest, nvmf_data_digest), \
142142 OPT_FLAG("tls", 0, &c.tls, nvmf_tls), \
143143 OPT_FLAG("concat", 0, &c.concat, nvmf_concat), \
144- __VA_ARGS__, \
145- OPT_END() \
146- }
144+ ## __VA_ARGS__ \
145+ )
146+
147147
148148static void save_discovery_log (char * raw , struct nvmf_discovery_log * log )
149149{
@@ -476,9 +476,7 @@ int fabrics_discovery(const char *desc, int argc, char **argv, bool connect)
476476 nvme_print_flags_t flags ;
477477 _cleanup_nvme_global_ctx_ struct nvme_global_ctx * ctx = NULL ;
478478 _cleanup_free_ struct nvmf_context * fctx = NULL ;
479- unsigned int verbose = 0 ;
480479 int ret ;
481- char * format = "normal" ;
482480 struct nvme_fabrics_config cfg ;
483481 struct nvmf_args fa = { .subsysnqn = NVME_DISC_SUBSYS_NAME };
484482 char * device = NULL ;
@@ -489,12 +487,10 @@ int fabrics_discovery(const char *desc, int argc, char **argv, bool connect)
489487
490488 NVMF_ARGS (opts , fa , cfg ,
491489 OPT_STRING ("device" , 'd' , "DEV" , & device , "use existing discovery controller device" ),
492- OPT_FMT ("output-format" , 'o' , & format , output_format ),
493490 OPT_FILE ("raw" , 'r' , & raw , "save raw output to file" ),
494491 OPT_FLAG ("persistent" , 'p' , & persistent , "persistent discovery connection" ),
495492 OPT_FLAG ("quiet" , 0 , & quiet , "suppress already connected errors" ),
496493 OPT_STRING ("config" , 'J' , "FILE" , & config_file , nvmf_config_file ),
497- OPT_INCR ("verbose" , 'v' , & verbose , "Increase logging verbosity" ),
498494 OPT_FLAG ("dump-config" , 'O' , & dump_config , "Dump configuration file to stdout" ),
499495 OPT_FLAG ("force" , 0 , & force , "Force persistent discovery controller creation" ),
500496 OPT_FLAG ("nbft" , 0 , & nbft , "Only look at NBFT tables" ),
@@ -508,7 +504,7 @@ int fabrics_discovery(const char *desc, int argc, char **argv, bool connect)
508504 if (ret )
509505 return ret ;
510506
511- ret = validate_output_format (format , & flags );
507+ ret = validate_output_format (nvme_args . output_format , & flags );
512508 if (ret < 0 ) {
513509 nvme_show_error ("Invalid output format" );
514510 return ret ;
@@ -517,7 +513,7 @@ int fabrics_discovery(const char *desc, int argc, char **argv, bool connect)
517513 if (!strcmp (config_file , "none" ))
518514 config_file = NULL ;
519515
520- log_level = map_log_level (verbose , quiet );
516+ log_level = map_log_level (nvme_args . verbose , quiet );
521517
522518 ctx = nvme_create_global_ctx (stderr , log_level );
523519 if (!ctx ) {
@@ -590,21 +586,17 @@ int fabrics_connect(const char *desc, int argc, char **argv)
590586 _cleanup_free_ char * hid = NULL ;
591587 char * config_file = NULL ;
592588 char * context = NULL ;
593- unsigned int verbose = 0 ;
594589 _cleanup_nvme_global_ctx_ struct nvme_global_ctx * ctx = NULL ;
595590 _cleanup_free_ struct nvmf_context * fctx = NULL ;
596591 _cleanup_nvme_ctrl_ nvme_ctrl_t c = NULL ;
597592 int ret ;
598593 nvme_print_flags_t flags ;
599594 struct nvme_fabrics_config cfg = { 0 };
600595 struct nvmf_args fa = { 0 };
601- char * format = "normal" ;
602596
603597 NVMF_ARGS (opts , fa , cfg ,
604598 OPT_STRING ("config" , 'J' , "FILE" , & config_file , nvmf_config_file ),
605- OPT_INCR ("verbose" , 'v' , & verbose , "Increase logging verbosity" ),
606599 OPT_FLAG ("dump-config" , 'O' , & dump_config , "Dump JSON configuration to stdout" ),
607- OPT_FMT ("output-format" , 'o' , & format , "Output format: normal|json" ),
608600 OPT_STRING ("context" , 0 , "STR" , & context , nvmf_context ));
609601
610602 nvmf_default_config (& cfg );
@@ -613,7 +605,7 @@ int fabrics_connect(const char *desc, int argc, char **argv)
613605 if (ret )
614606 return ret ;
615607
616- ret = validate_output_format (format , & flags );
608+ ret = validate_output_format (nvme_args . output_format , & flags );
617609 if (ret < 0 ) {
618610 nvme_show_error ("Invalid output format" );
619611 return ret ;
@@ -644,7 +636,7 @@ int fabrics_connect(const char *desc, int argc, char **argv)
644636 }
645637
646638do_connect :
647- log_level = map_log_level (verbose , quiet );
639+ log_level = map_log_level (nvme_args . verbose , quiet );
648640
649641 ctx = nvme_create_global_ctx (stderr , log_level );
650642 if (!ctx ) {
@@ -746,17 +738,13 @@ int fabrics_disconnect(const char *desc, int argc, char **argv)
746738 struct config {
747739 char * nqn ;
748740 char * device ;
749- unsigned int verbose ;
750741 };
751742
752743 struct config cfg = { 0 };
753744
754- OPT_ARGS (opts ) = {
745+ NVME_ARGS (opts ,
755746 OPT_STRING ("nqn" , 'n' , "NAME" , & cfg .nqn , nvmf_nqn ),
756- OPT_STRING ("device" , 'd' , "DEV" , & cfg .device , device ),
757- OPT_INCR ("verbose" , 'v' , & cfg .verbose , "Increase logging verbosity" ),
758- OPT_END ()
759- };
747+ OPT_STRING ("device" , 'd' , "DEV" , & cfg .device , device ));
760748
761749 ret = argconfig_parse (argc , argv , desc , opts );
762750 if (ret )
@@ -773,7 +761,7 @@ int fabrics_disconnect(const char *desc, int argc, char **argv)
773761 return - EINVAL ;
774762 }
775763
776- log_level = map_log_level (cfg .verbose , false);
764+ log_level = map_log_level (nvme_args .verbose , false);
777765
778766 ctx = nvme_create_global_ctx (stderr , log_level );
779767 if (!ctx ) {
@@ -834,22 +822,18 @@ int fabrics_disconnect_all(const char *desc, int argc, char **argv)
834822
835823 struct config {
836824 char * transport ;
837- unsigned int verbose ;
838825 };
839826
840827 struct config cfg = { 0 };
841828
842- OPT_ARGS (opts ) = {
843- OPT_STRING ("transport" , 'r' , "STR" , (char * )& cfg .transport , nvmf_tport ),
844- OPT_INCR ("verbose" , 'v' , & cfg .verbose , "Increase logging verbosity" ),
845- OPT_END ()
846- };
829+ NVME_ARGS (opts ,
830+ OPT_STRING ("transport" , 'r' , "STR" , (char * )& cfg .transport , nvmf_tport ));
847831
848832 ret = argconfig_parse (argc , argv , desc , opts );
849833 if (ret )
850834 return ret ;
851835
852- log_level = map_log_level (cfg .verbose , false);
836+ log_level = map_log_level (nvme_args .verbose , false);
853837
854838 ctx = nvme_create_global_ctx (stderr , log_level );
855839 if (!ctx ) {
@@ -901,12 +885,10 @@ int fabrics_config(const char *desc, int argc, char **argv)
901885 char * config_file = PATH_NVMF_CONFIG ;
902886 struct nvme_fabrics_config cfg ;
903887 struct nvmf_args fa = { };
904- unsigned int verbose = 0 ;
905888 int ret ;
906889
907890 NVMF_ARGS (opts , fa , cfg ,
908891 OPT_STRING ("config" , 'J' , "FILE" , & config_file , nvmf_config_file ),
909- OPT_INCR ("verbose" , 'v' , & verbose , "Increase logging verbosity" ),
910892 OPT_FLAG ("scan" , 'R' , & scan_tree , "Scan current NVMeoF topology" ),
911893 OPT_FLAG ("modify" , 'M' , & modify_config , "Modify JSON configuration file" ),
912894 OPT_FLAG ("dump" , 'O' , & dump_config , "Dump JSON configuration to stdout" ),
@@ -921,7 +903,7 @@ int fabrics_config(const char *desc, int argc, char **argv)
921903 if (!strcmp (config_file , "none" ))
922904 config_file = NULL ;
923905
924- log_level = map_log_level (verbose , quiet );
906+ log_level = map_log_level (nvme_args . verbose , quiet );
925907
926908 ctx = nvme_create_global_ctx (stderr , log_level );
927909 if (!ctx ) {
@@ -1015,16 +997,12 @@ int fabrics_dim(const char *desc, int argc, char **argv)
1015997 char * nqn ;
1016998 char * device ;
1017999 char * tas ;
1018- unsigned int verbose ;
10191000 } cfg = { 0 };
10201001
1021- OPT_ARGS (opts ) = {
1002+ NVME_ARGS (opts ,
10221003 OPT_STRING ("nqn" , 'n' , "NAME" , & cfg .nqn , "Comma-separated list of DC nqn" ),
10231004 OPT_STRING ("device" , 'd' , "DEV" , & cfg .device , "Comma-separated list of DC nvme device handle." ),
1024- OPT_STRING ("task" , 't' , "TASK" , & cfg .tas , "[register|deregister]" ),
1025- OPT_INCR ("verbose" , 'v' , & cfg .verbose , "Increase logging verbosity" ),
1026- OPT_END ()
1027- };
1005+ OPT_STRING ("task" , 't' , "TASK" , & cfg .tas , "[register|deregister]" ));
10281006
10291007 ret = argconfig_parse (argc , argv , desc , opts );
10301008 if (ret )
@@ -1052,7 +1030,7 @@ int fabrics_dim(const char *desc, int argc, char **argv)
10521030 return - EINVAL ;
10531031 }
10541032
1055- log_level = map_log_level (cfg .verbose , false);
1033+ log_level = map_log_level (nvme_args .verbose , false);
10561034
10571035 ctx = nvme_create_global_ctx (stderr , log_level );
10581036 if (!ctx ) {
0 commit comments