diff options
author | Dan Mick <dan.mick@inktank.com> | 2013-04-08 13:52:32 -0700 |
---|---|---|
committer | Dan Mick <dan.mick@inktank.com> | 2013-04-08 17:49:15 -0700 |
commit | be801f6c506d9fbfb6c06afe94663abdb0037be5 (patch) | |
tree | 49774a8d8f9f6da264b6ca3f548380f2c94a9844 | |
parent | c76bbc2e6df16d283cac3613628a44937e38bed8 (diff) | |
download | ceph-be801f6c506d9fbfb6c06afe94663abdb0037be5.tar.gz |
mon: Use _daemon version of argparse functions
Allow argparse functions to fail if no argument given by using
special versions that avoid the default CLI behavior of "cerr/exit"
Fixes: #4678
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
-rw-r--r-- | src/mon/MDSMonitor.cc | 3 | ||||
-rw-r--r-- | src/mon/Monitor.cc | 2 | ||||
-rw-r--r-- | src/mon/MonmapMonitor.cc | 3 | ||||
-rw-r--r-- | src/mon/OSDMonitor.cc | 3 | ||||
-rw-r--r-- | src/mon/PGMonitor.cc | 7 |
5 files changed, 11 insertions, 7 deletions
diff --git a/src/mon/MDSMonitor.cc b/src/mon/MDSMonitor.cc index 0ca0f78bf45..3ea6d860039 100644 --- a/src/mon/MDSMonitor.cc +++ b/src/mon/MDSMonitor.cc @@ -548,7 +548,8 @@ bool MDSMonitor::preprocess_command(MMonCommand *m) for (std::vector<const char*>::iterator i = args.begin()+1; i != args.end(); ) { if (ceph_argparse_double_dash(args, i)) break; - else if (ceph_argparse_witharg(args, i, &val, "-f", "--format", (char*)NULL)) + else if (ceph_argparse_witharg_daemon(args, i, &val, "-f", "--format", + (char*)NULL)) format = val; else if (!epoch) { long l = parse_pos_long(*i++, &ss); diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index d8d4579f67b..a49d08a02af 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -2483,7 +2483,7 @@ void Monitor::handle_command(MMonCommand *m) JSONFormatter *jf = NULL; for (vector<const char*>::iterator i = args.begin(); i != args.end();) { string val; - if (ceph_argparse_witharg(args, i, &val, + if (ceph_argparse_witharg_daemon(args, i, &val, "-f", "--format", (char*)NULL)) { format = val; } else { diff --git a/src/mon/MonmapMonitor.cc b/src/mon/MonmapMonitor.cc index af8d7299227..f1c6dfa3325 100644 --- a/src/mon/MonmapMonitor.cc +++ b/src/mon/MonmapMonitor.cc @@ -222,7 +222,8 @@ bool MonmapMonitor::preprocess_command(MMonCommand *m) for (std::vector<const char*>::iterator i = args.begin()+1; i != args.end(); ) { if (ceph_argparse_double_dash(args, i)) break; - else if (ceph_argparse_witharg(args, i, &val, "-f", "--format", (char*)NULL)) + else if (ceph_argparse_witharg_daemon(args, i, &val, "-f", "--format", + (char*)NULL)) format = val; else if (!epoch) { long l = parse_pos_long(*i++, &ss); diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index a9d68075cd4..40103ec402f 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -1894,7 +1894,8 @@ bool OSDMonitor::preprocess_command(MMonCommand *m) for (std::vector<const char*>::iterator i = args.begin()+1; i != args.end(); ) { if (ceph_argparse_double_dash(args, i)) break; - else if (ceph_argparse_witharg(args, i, &val, "-f", "--format", (char*)NULL)) + else if (ceph_argparse_witharg_daemon(args, i, &val, "-f", "--format", + (char*)NULL)) format = val; else if (!epoch) { long l = parse_pos_long(*i++, &ss); diff --git a/src/mon/PGMonitor.cc b/src/mon/PGMonitor.cc index c05897215cc..fe50b34da8c 100644 --- a/src/mon/PGMonitor.cc +++ b/src/mon/PGMonitor.cc @@ -1096,7 +1096,8 @@ bool PGMonitor::preprocess_command(MMonCommand *m) for (std::vector<const char*>::iterator i = args.begin()+1; i != args.end(); ) { if (ceph_argparse_double_dash(args, i)) { break; - } else if (ceph_argparse_witharg(args, i, &val, "-f", "--format", (char*)NULL)) { + } else if (ceph_argparse_witharg_daemon(args, i, &val, "-f", + "--format", (char*)NULL)) { format = val; } else { what = *i++; @@ -1572,14 +1573,14 @@ int PGMonitor::dump_stuck_pg_stats(ostream& ss, i != args.end(); ) { if (ceph_argparse_double_dash(args, i)) { break; - } else if (ceph_argparse_witharg(args, i, &val, + } else if (ceph_argparse_witharg_daemon(args, i, &val, "-f", "--format", (char*)NULL)) { if (val != "json" && val != "plain") { ss << "format must be json or plain"; return -EINVAL; } format = val; - } else if (ceph_argparse_withint(args, i, &seconds, &err, + } else if (ceph_argparse_withint_daemon(args, i, &seconds, &err, "-t", "--threshold", (char*)NULL)) { if (!err.str().empty()) { ss << err.str(); |