All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steve Dickson <SteveD@redhat.com>
To: Tony Asleson <tasleson@redhat.com>
Cc: linux-nfs@vger.kernel.org
Subject: Re: [PATCH] exportfs: Add -s option.
Date: Mon, 21 Oct 2013 13:14:45 -0400	[thread overview]
Message-ID: <52656105.3060207@RedHat.com> (raw)
In-Reply-To: <1380734389-8202-1-git-send-email-tasleson@redhat.com>



On 02/10/13 13:19, Tony Asleson wrote:
> Adds '-s' option which outputs the current exports in a format
> suitable for /etc/exports.
> 
> Signed-off-by: Tony Asleson <tasleson@redhat.com>
> ---
>  utils/exportfs/exportfs.c   | 23 ++++++++++++++---------
>  utils/exportfs/exportfs.man |  5 ++++-
>  2 files changed, 18 insertions(+), 10 deletions(-)
Committed...

steved.
 
> 
> diff --git a/utils/exportfs/exportfs.c b/utils/exportfs/exportfs.c
> index 4331697..52fc03d 100644
> --- a/utils/exportfs/exportfs.c
> +++ b/utils/exportfs/exportfs.c
> @@ -38,7 +38,7 @@ static void	export_all(int verbose);
>  static void	exportfs(char *arg, char *options, int verbose);
>  static void	unexportfs(char *arg, int verbose);
>  static void	exports_update(int verbose);
> -static void	dump(int verbose);
> +static void	dump(int verbose, int export_format);
>  static void	error(nfs_export *exp, int err);
>  static void	usage(const char *progname, int n);
>  static void	validate_export(nfs_export *exp);
> @@ -88,6 +88,7 @@ main(int argc, char **argv)
>  	int	f_export = 1;
>  	int	f_all = 0;
>  	int	f_verbose = 0;
> +	int	f_export_format = 0;
>  	int	f_reexport = 0;
>  	int	f_ignore = 0;
>  	int	i, c;
> @@ -105,7 +106,7 @@ main(int argc, char **argv)
>  
>  	export_errno = 0;
>  
> -	while ((c = getopt(argc, argv, "afhio:ruv")) != EOF) {
> +	while ((c = getopt(argc, argv, "afhio:ruvs")) != EOF) {
>  		switch(c) {
>  		case 'a':
>  			f_all = 1;
> @@ -132,6 +133,9 @@ main(int argc, char **argv)
>  		case 'v':
>  			f_verbose = 1;
>  			break;
> +		case 's':
> +			f_export_format = 1;
> +			break;
>  		default:
>  			usage(progname, 1);
>  			break;
> @@ -164,7 +168,7 @@ main(int argc, char **argv)
>  			return 0;
>  		} else {
>  			xtab_export_read();
> -			dump(f_verbose);
> +			dump(f_verbose, f_export_format);
>  			return 0;
>  		}
>  	}
> @@ -634,7 +638,7 @@ dumpopt(char c, char *fmt, ...)
>  }
>  
>  static void
> -dump(int verbose)
> +dump(int verbose, int export_format)
>  {
>  	nfs_export	*exp;
>  	struct exportent *ep;
> @@ -647,14 +651,15 @@ dump(int verbose)
>  			if (!exp->m_xtabent)
>  			    continue; /* neilb */
>  			if (htype == MCL_ANONYMOUS)
> -				hname = "<world>";
> +				hname = (export_format) ? "*" : "<world>";
>  			else
>  				hname = ep->e_hostname;
> -			if (strlen(ep->e_path) > 14)
> +			if (strlen(ep->e_path) > 14 && !export_format)
>  				printf("%-14s\n\t\t%s", ep->e_path, hname);
>  			else
> -				printf("%-14s\t%s", ep->e_path, hname);
> -			if (!verbose) {
> +				printf(((export_format)? "%s %s" : "%-14s\t%s"), ep->e_path, hname);
> +
> +			if (!verbose && !export_format) {
>  				printf("\n");
>  				continue;
>  			}
> @@ -728,6 +733,6 @@ error(nfs_export *exp, int err)
>  static void
>  usage(const char *progname, int n)
>  {
> -	fprintf(stderr, "usage: %s [-afhioruv] [host:/path]\n", progname);
> +	fprintf(stderr, "usage: %s [-afhioruvs] [host:/path]\n", progname);
>  	exit(n);
>  }
> diff --git a/utils/exportfs/exportfs.man b/utils/exportfs/exportfs.man
> index 8853486..590f9cf 100644
> --- a/utils/exportfs/exportfs.man
> +++ b/utils/exportfs/exportfs.man
> @@ -3,7 +3,7 @@
>  .\" Copyright (C) 1995 Olaf Kirch <okir@monad.swb.de>
>  .\" Modifications 1999-2003 Neil Brown <neilb@cse.unsw.edu.au>
>  .\"
> -.TH exportfs 8 "31 December 2009"
> +.TH exportfs 8 "30 September 2013"
>  .SH NAME
>  exportfs \- maintain table of exported NFS file systems
>  .SH SYNOPSIS
> @@ -133,6 +133,9 @@ when they make their next NFS mount request.
>  Be verbose. When exporting or unexporting, show what's going on. When
>  displaying the current export list, also display the list of export
>  options.
> +.TP
> +.B -s
> +Display the current export list suitable for /etc/exports.
>  .SH DISCUSSION
>  .SS Exporting Directories
>  The first synopsis shows how to invoke
> 

      parent reply	other threads:[~2013-10-21 17:14 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-02 17:19 [PATCH] exportfs: Add -s option Tony Asleson
2013-10-02 21:40 ` J. Bruce Fields
2013-10-21 13:51   ` Steve Dickson
2013-10-21 14:01     ` J. Bruce Fields
2013-10-21 16:55       ` Steve Dickson
2013-10-21 18:01         ` J. Bruce Fields
2013-10-21 17:14 ` Steve Dickson [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52656105.3060207@RedHat.com \
    --to=steved@redhat.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=tasleson@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.