Merge pull request #6821 from H3C/wip-cephfs-f11322

ceph-fuse: add process to ceph-fuse --help

Reviewed-by: John Spray <john.spray@redhat.com>
This commit is contained in:
John Spray 2015-12-15 13:15:43 +00:00
commit d278134232

View 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;
}