]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
usage
authorSage Weil <sage@newdream.net>
Tue, 10 Mar 2009 22:22:52 +0000 (15:22 -0700)
committerSage Weil <sage@newdream.net>
Tue, 10 Mar 2009 22:22:52 +0000 (15:22 -0700)
src/ceph.cc
src/cmds.cc
src/cmon.cc
src/config.cc
src/config.h
src/cosd.cc

index f4f8a3f5e89f6910af700e7c71670715fa9709ef..7a04e0866d471e06813fce860f0d21d058920a7f 100644 (file)
@@ -377,18 +377,21 @@ int do_command(vector<string>& cmd, bufferlist& bl, string& rs, bufferlist& rbl)
 
 void usage() 
 {
-  cerr << "usage: ceph [options] monhost] command" << std::endl;
-  cerr << "Options:" << std::endl;
-  cerr << "   -m monhost        -- specify monitor hostname or ip" << std::endl;
-  cerr << "   -i infile         -- specify input file" << std::endl;
-  cerr << "   -o outfile        -- specify output file" << std::endl;
-  cerr << "   -w or --watch     -- watch mds, osd, pg status (push)" << std::endl;
-  cerr << "   -p or --poll      -- watch mds, osd, pg status (poll)" << std::endl;
+  cerr << "usage: ceph [options] [commands]" << std::endl;
+  cerr << "If no commands are specified, enter interactive mode.\n";
   cerr << "Commands:" << std::endl;
   cerr << "   stop              -- cleanly shut down file system" << std::endl
        << "   (osd|pg|mds) stat -- get monitor subsystem status" << std::endl
        << "   ..." << std::endl;
-  exit(1);
+  cerr << "Options:" << std::endl;
+  cerr << "   -i infile\n";
+  cerr << "   -o outfile\n";
+  cerr << "        specify input or output file (for certain commands)\n";
+  cerr << "   -w or --watch\n";
+  cerr << "        watch mds, osd, pg status changes in real time (push)\n";
+  cerr << "   -p or --poll\n";
+  cerr << "        watch mds, osd, pg status changes in real time (poll)\n";
+  generic_client_usage();
 }
 
 
@@ -549,6 +552,10 @@ int main(int argc, const char **argv, const char *envp[]) {
     } else if (strcmp(args[i], "-p") == 0 ||
               strcmp(args[i], "--poll") == 0) {
       watch = 1;
+    } else if (args[i][0] == '-') {
+      if (strcmp(args[i], "-h"))
+       cerr << "unrecognized option " << args[i] << std::endl;
+      usage();
     } else
       nargs.push_back(args[i]);
   }
index 59ba96596242b43253887774cf3e69ed0a6673fb..f55c328f15f413fd75fda1334b722c1bdddc888a 100644 (file)
@@ -35,10 +35,12 @@ using namespace std;
 
 void usage()
 {
-  cerr << "usage: cmds [flags] [--mds rank] [--shadow rank]" << std::endl;
-  cerr << "  --debug_mds n  debug MDS level (e.g. 10)" << std::endl;
-  cerr << "  --debug_ms n   debug messaging level (e.g. 1)" << std::endl;
-  exit(1);
+  cerr << "usage: cmds [flags] [--mds rank] [--shadow rank]\n";
+  cerr << "  -m monitorip:port\n";
+  cerr << "        connect to monitor at given address\n";
+  cerr << "  --debug_mds n\n";
+  cerr << "        debug MDS level (e.g. 10)\n";
+  generic_server_usage();
 }
 
 int main(int argc, const char **argv) 
index 09c85646549ddd1afe57fec1cbf4ddcd1aaa1b06..468a08e3cf428eb30d0d6f2d227ae6332242c50b 100644 (file)
@@ -36,12 +36,10 @@ using namespace std;
 
 void usage()
 {
-  cerr << "usage: ./cmon [flags] <monfsdir>" << std::endl;
-  cerr << "  -d             daemonize" << std::endl;
-  cerr << "  -o <dir>       log output to dir/mon#" << std::endl;
-  cerr << "  --debug_mon n  debug monitor level (e.g. 10)" << std::endl;
-  cerr << "  --debug_ms n   debug messaging level (e.g. 1)" << std::endl;
-  exit(1);
+  cerr << "usage: cmon [flags] <monfsdir>" << std::endl;
+  cerr << "  --debug_mon n\n";
+  cerr << "        debug monitor level (e.g. 10)\n";
+  generic_server_usage();
 }
 
 int main(int argc, const char **argv) 
index 2390c093675dc45094ec86bbc38ad63085bbd7a9..7cf9f47efc10f04658861bb32d8325b360baaf09 100644 (file)
@@ -800,6 +800,31 @@ void configure_client_mode()
   g_conf.log_to_stdout = true;
 }
 
+void generic_usage()
+{
+  cerr << "   -C cluster.conf\n";
+  cerr << "        get monitor IP(s) from given conf (instead of /etc/ceph/cluster.conf)\n";
+  cerr << "   -c ceph.conf\n";
+  cerr << "        get runtime options from given conf file" << std::endl;
+}
+
+void generic_server_usage()
+{
+  cerr << "   --debug_ms N\n";
+  cerr << "        set message debug level (e.g. 1)\n";
+  cerr << "   -D   debug (no fork, log to stdout)\n";
+  cerr << "   -f   foreground (no fork, log to file)\n";
+  generic_usage();
+  exit(1);
+}
+void generic_client_usage()
+{
+  generic_usage();
+  cerr << "   -d   daemonize (detach, fork, log to file)\n";
+  cerr << "   -f   foreground (no fork, log to file)" << std::endl;
+  exit(1);
+}
+
 void parse_config_options(std::vector<const char*>& args)
 {
   int opt_len = sizeof(config_optionsp)/sizeof(config_option);
index 948ca34e8f86e86d8c6322439fe52f551f454a00..45be9fa8878d34e7713fcb7ef1063122c0090bfd 100644 (file)
@@ -361,6 +361,9 @@ extern bool parse_ip_port(const char *s, entity_addr_t& addr, const char **end=0
 void configure_daemon_mode();
 void configure_client_mode();
 
+void generic_server_usage();
+void generic_client_usage();
+
 class ConfFile;
 
 void parse_config_file(ConfFile *cf, bool update);
index 85ce2e146b9f37b1f419c9a1c1097058ba275122..44ccc6b1dc52a04575b130d79a6229f5d1942859 100644 (file)
@@ -37,10 +37,8 @@ using namespace std;
 void usage() 
 {
   cerr << "usage: cosd <device> [-j journalfileordev] [-m monitor] [--mkfs_for_osd <nodeid>]" << std::endl;
-  cerr << "   -d              daemonize" << std::endl;
   cerr << "   --debug_osd N   set debug level (e.g. 10)" << std::endl;
-  cerr << "   --debug_ms N    set message debug level (e.g. 1)" << std::endl;
-  exit(1);
+  generic_server_usage();
 }