]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-fuse: add process to ceph-fuse --help 6821/head
authorWei Feng <feng.wei@h3c.com>
Wed, 9 Dec 2015 08:58:32 +0000 (03:58 -0500)
committerWei Feng <feng.wei@h3c.com>
Tue, 15 Dec 2015 12:45:07 +0000 (07:45 -0500)
Signed-off-by: Wei Feng <feng.wei@h3c.com>
src/ceph_fuse.cc

index 4d166ebd3889df9529ccef69974fe00cac215497..6d5c946a0fd42fdcc7db8d28b4c886df4df05856 100644 (file)
@@ -37,9 +37,32 @@ using namespace std;
 #include <sys/types.h>
 #include <fcntl.h>
 
+#include <fuse.h>
+
+static void fuse_usage()
+{
+  const char **argv = (const char **) malloc((2) * sizeof(char *));
+  argv[0] = "ceph-fuse";
+  argv[1] = "-h";
+  struct fuse_args args = FUSE_ARGS_INIT(2, (char**)argv);
+  if (fuse_parse_cmdline(&args, NULL, NULL, NULL) == -1) {
+    derr << "fuse_parse_cmdline failed." << dendl;
+    fuse_opt_free_args(&args);
+    free(argv);
+  }
+
+  assert(args.allocated);  // Checking fuse has realloc'd args so we can free newargv
+  free(argv);
+}
 void usage()
 {
-  cerr << "usage: ceph-fuse [-m mon-ip-addr:mon-port] <mount point>" << std::endl;
+  cout <<
+"usage: ceph-fuse [-m mon-ip-addr:mon-port] <mount point> [OPTIONS]\n"
+"  --client_mountpoint/-r <root_directory>\n"
+"                    use root_directory as the mounted root, rather than the full Ceph tree.\n"
+"\n";
+  fuse_usage();
+  generic_client_usage();
 }
 
 int main(int argc, const char **argv, const char *envp[]) {
@@ -57,6 +80,9 @@ int main(int argc, const char **argv, const char *envp[]) {
     } else if (ceph_argparse_flag(args, i, "--localize-reads", (char*)NULL)) {
       cerr << "setting CEPH_OSD_FLAG_LOCALIZE_READS" << std::endl;
       filer_flags |= CEPH_OSD_FLAG_LOCALIZE_READS;
+    } else if (ceph_argparse_flag(args, i, "-h", "--help", (char*)NULL)) {
+      usage();
+      assert(0);
     } else {
       ++i;
     }