From 6ac8a80f59dc4593c4fde81e62c490edd73d504f Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 7 Mar 2019 22:02:09 +0100 Subject: [FUSE] Clean up argument handling, improve help --- src/fuse/main.c | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/src/fuse/main.c b/src/fuse/main.c index 69659b5..e1b2633 100644 --- a/src/fuse/main.c +++ b/src/fuse/main.c @@ -266,28 +266,31 @@ static void printVersion() static void printUsage(char *argv0, int exitCode) { char *arg[] = { argv0, "-h" }; + fuse_main( 2, arg, &dnbd3_fuse_no_operations, NULL ); + printf( "\n" ); printf( "Usage: %s [--debug] [--option mountOpts] --host --image [--rid revision] \n", argv0 ); printf( "Or: %s [-d] [-o mountOpts] -h -i [-r revision] \n", argv0 ); + printf( " -d --debug Don't fork, write stats file, and print debug output (fuse -> stderr, dnbd3 -> stdout)\n" ); + printf( " -f Don't fork (dnbd3 -> stdout)\n" ); printf( " -h --host List of space separated hosts to use\n" ); printf( " -i --image Remote image name to request\n" ); - printf( " -r --rid Revision to use (omit or pass 0 for latest)\n" ); printf( " -l --log Write log to given location\n" ); printf( " -o --option Mount options to pass to libfuse\n" ); - printf( " -d --debug Don't fork and print debug output (fuse > stderr, dnbd3 > stdout)\n" ); - fuse_main( 2, arg, &dnbd3_fuse_no_operations, NULL ); + printf( " -r --rid Revision to use (omit or pass 0 for latest)\n" ); + printf( " -s Single threaded mode\n" ); exit( exitCode ); } -static const char *optString = "h:i:r:l:o:HvVdtsf"; +static const char *optString = "dfHh:i:l:o:r:sVv"; static const struct option longOpts[] = { + { "debug", no_argument, NULL, 'd' }, + { "help", no_argument, NULL, 'H' }, { "host", required_argument, NULL, 'h' }, { "image", required_argument, NULL, 'i' }, - { "rid", required_argument, NULL, 'r' }, { "log", required_argument, NULL, 'l' }, { "option", required_argument, NULL, 'o' }, - { "help", no_argument, NULL, 'H' }, + { "rid", required_argument, NULL, 'r' }, { "version", no_argument, NULL, 'v' }, - { "debug", no_argument, NULL, 'd' }, { 0, 0, 0, 0 } }; @@ -300,7 +303,6 @@ int main(int argc, char *argv[]) char **newArgv; int newArgc; int opt, lidx; - bool testOpt = false; if ( argc <= 1 || strcmp( argv[1], "--help" ) == 0 || strcmp( argv[1], "--usage" ) == 0 ) { printUsage( argv[0], 0 ); @@ -354,16 +356,11 @@ int main(int argc, char *argv[]) newArgv[newArgc++] = "-d"; break; case 's': - useDebug = true; newArgv[newArgc++] = "-s"; break; case 'f': - useDebug = true; newArgv[newArgc++] = "-f"; break; - case 't': - testOpt = true; - break; default: printUsage( argv[0], EXIT_FAILURE ); } @@ -373,12 +370,6 @@ int main(int argc, char *argv[]) printUsage( argv[0], EXIT_FAILURE ); } - if ( testOpt ) { - /* values for testing. */ - server_address = "132.230.4.1 132.230.8.113 132.230.4.60"; - image_Name = "windows7-umwelt.vmdk"; - useDebug = true; - } if ( server_address == NULL || image_Name == NULL ) { printUsage( argv[0], EXIT_FAILURE ); } -- cgit v1.2.3-55-g7522