X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fexportfs%2Fexportfs.c;h=9f7954130ee2adf9579f933ec44134d25ed141da;hp=7326802552e35005cdbbbdb316417895c8677983;hb=HEAD;hpb=36931bf93d4316608c0f5935cf489c9b3d15e921 diff --git a/utils/exportfs/exportfs.c b/utils/exportfs/exportfs.c index 7326802..9f79541 100644 --- a/utils/exportfs/exportfs.c +++ b/utils/exportfs/exportfs.c @@ -40,10 +40,12 @@ static void unexportfs(char *arg, int verbose); static void exports_update(int verbose); static void dump(int verbose); static void error(nfs_export *exp, int err); -static void usage(const char *progname); +static void usage(const char *progname, int n); static void validate_export(nfs_export *exp); static int matchhostname(const char *hostname1, const char *hostname2); static void export_d_read(const char *dname); +static void grab_lockfile(void); +static void release_lockfile(void); static const char *lockfile = EXP_LOCKFILE; static int _lockfd = -1; @@ -64,14 +66,14 @@ static int _lockfd = -1; * corrupting etab, but to prevent problems like the above we * need these additional lockfile() routines. */ -void +static void grab_lockfile() { _lockfd = open(lockfile, O_CREAT|O_RDWR, 0666); if (_lockfd != -1) lockf(_lockfd, F_LOCK, 0); } -void +static void release_lockfile() { if (_lockfd != -1) @@ -103,11 +105,17 @@ main(int argc, char **argv) export_errno = 0; - while ((c = getopt(argc, argv, "aio:ruvf")) != EOF) { + while ((c = getopt(argc, argv, "afhio:ruv")) != EOF) { switch(c) { case 'a': f_all = 1; break; + case 'f': + force_flush = 1; + break; + case 'h': + usage(progname, 0); + break; case 'i': f_ignore = 1; break; @@ -124,11 +132,8 @@ main(int argc, char **argv) case 'v': f_verbose = 1; break; - case 'f': - force_flush = 1; - break; default: - usage(progname); + usage(progname, 1); break; } } @@ -721,8 +726,8 @@ error(nfs_export *exp, int err) } static void -usage(const char *progname) +usage(const char *progname, int n) { - fprintf(stderr, "usage: %s [-aruv] [host:/path]\n", progname); - exit(1); + fprintf(stderr, "usage: %s [-afhioruv] [host:/path]\n", progname); + exit(n); }