Re: [PATCH] exportfs: Add -s option.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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@xxxxxxxxxx>
> ---
>  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@xxxxxxxxxxxx>
>  .\" Modifications 1999-2003 Neil Brown <neilb@xxxxxxxxxxxxxxx>
>  .\"
> -.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
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux