Re: [PATCH] xfs_grow: Remove xflag and iflag to reduce redundant temporary variables.

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

 



On Thu, Dec 07, 2023 at 04:39:04PM +0800, wuyifeng (C) wrote:
> I found that iflag and xflag can be combined with lflag to reduce the
> number of redundant local variables, which is a refactoring to improve
> code readability.Signed-off-by: Wu YiFeng <wuyifeng10@xxxxxxxxxx>
> 
> Please help me review, thanks.

Patches should be inlined not submitted as an attachment, please, submit it
correctly, so people will actually look into it.

Same kernel rules apply here:
https://www.kernel.org/doc/html/latest/process/submitting-patches.html#no-mime-no-links-no-compression-no-attachments-just-plain-text

Thanks

Carlos

> 
> ---
>   growfs/xfs_growfs.c | 22 +++++++++++-----------
>   1 file changed, 11 insertions(+), 11 deletions(-)
> 
> diff --git a/growfs/xfs_growfs.c b/growfs/xfs_growfs.c
> index 683961f6..5fb1a9d2 100644
> --- a/growfs/xfs_growfs.c
> +++ b/growfs/xfs_growfs.c
> @@ -8,6 +8,10 @@
>   #include "libfrog/paths.h"
>   #include "libfrog/fsgeom.h"
> 
> +#define LOG_GROW    (1<<0)    /* -l flag: grow log section */
> +#define LOG_EXT2INT    (1<<1)    /* -i flag: convert log from external
> to internal format */
> +#define LOG_INT2EXT    (1<<2)    /* -x flag: convert log from internal
> to external format */
> +
>   static void
>   usage(void)
>   {
> @@ -45,7 +49,6 @@ main(int argc, char **argv)
>       long            esize;    /* new rt extent size */
>       int            ffd;    /* mount point file descriptor */
>       struct xfs_fsop_geom    geo;    /* current fs geometry */
> -    int            iflag;    /* -i flag */
>       int            isint;    /* log is currently internal */
>       int            lflag;    /* -l flag */
>       long long        lsize;    /* new log size in fs blocks */
> @@ -55,7 +58,6 @@ main(int argc, char **argv)
>       struct xfs_fsop_geom    ngeo;    /* new fs geometry */
>       int            rflag;    /* -r flag */
>       long long        rsize;    /* new rt size in fs blocks */
> -    int            xflag;    /* -x flag */
>       char            *fname;    /* mount point name */
>       char            *datadev; /* data device name */
>       char            *logdev;  /*  log device name */
> @@ -72,7 +74,7 @@ main(int argc, char **argv)
> 
>       maxpct = esize = 0;
>       dsize = lsize = rsize = 0LL;
> -    aflag = dflag = iflag = lflag = mflag = nflag = rflag = xflag = 0;
> +    aflag = dflag = lflag = mflag = nflag = rflag = 0;
> 
>       while ((c = getopt(argc, argv, "dD:e:ilL:m:np:rR:t:xV")) != EOF) {
>           switch (c) {
> @@ -87,13 +89,13 @@ main(int argc, char **argv)
>               rflag = 1;
>               break;
>           case 'i':
> -            lflag = iflag = 1;
> +            lflag |= LOG_EXT2INT;
>               break;
>           case 'L':
>               lsize = strtoll(optarg, NULL, 10);
>               fallthrough;
>           case 'l':
> -            lflag = 1;
> +            lflag |= LOG_GROW;
>               break;
>           case 'm':
>               mflag = 1;
> @@ -115,7 +117,7 @@ main(int argc, char **argv)
>               mtab_file = optarg;
>               break;
>           case 'x':
> -            lflag = xflag = 1;
> +            lflag |= LOG_INT2EXT;
>               break;
>           case 'V':
>               printf(_("%s version %s\n"), progname, VERSION);
> @@ -124,9 +126,7 @@ main(int argc, char **argv)
>               usage();
>           }
>       }
> -    if (argc - optind != 1)
> -        usage();
> -    if (iflag && xflag)
> +    if (argc - optind != 1 || ((lflag & LOG_EXT2INT) && (lflag &
> LOG_INT2EXT)))
>           usage();
>       if (dflag + lflag + rflag + mflag == 0)
>           aflag = 1;
> @@ -323,9 +323,9 @@ _("[EXPERIMENTAL] try to shrink unused space %lld,
> old size is %lld\n"),
> 
>           if (!lsize)
>               lsize = dlsize / (geo.blocksize / BBSIZE);
> -        if (iflag)
> +        if (lflag & LOG_EXT2INT)
>               in.isint = 1;
> -        else if (xflag)
> +        else if (lflag & LOG_INT2EXT)
>               in.isint = 0;
>           else
>               in.isint = xi.logBBsize == 0;
> --
> 2.33.0
> 

> From 74c9fe3337a302385999b57ceb819b3439cdbd9c Mon Sep 17 00:00:00 2001
> From: Wu YiFeng <wuyifeng10@xxxxxxxxxx>
> Date: Thu, 7 Dec 2023 15:47:08 +0800
> Subject: [PATCH] xfs_grow: Remove xflag and iflag to reduce redundant
>  temporary variables.
> 
> Both xflag and iflag are log flags. We can use the bits of lflag to
> indicate all log flags, which is a small code reconstruction.
> 
> Signed-off-by: Wu YiFeng <wuyifeng10@xxxxxxxxxx>
> ---
>  growfs/xfs_growfs.c | 22 +++++++++++-----------
>  1 file changed, 11 insertions(+), 11 deletions(-)
> 
> diff --git a/growfs/xfs_growfs.c b/growfs/xfs_growfs.c
> index 683961f6..5fb1a9d2 100644
> --- a/growfs/xfs_growfs.c
> +++ b/growfs/xfs_growfs.c
> @@ -8,6 +8,10 @@
>  #include "libfrog/paths.h"
>  #include "libfrog/fsgeom.h"
>  
> +#define LOG_GROW	(1<<0)	/* -l flag: grow log section */
> +#define LOG_EXT2INT	(1<<1)	/* -i flag: convert log from external to internal format */
> +#define LOG_INT2EXT	(1<<2)	/* -x flag: convert log from internal to external format */
> +
>  static void
>  usage(void)
>  {
> @@ -45,7 +49,6 @@ main(int argc, char **argv)
>  	long			esize;	/* new rt extent size */
>  	int			ffd;	/* mount point file descriptor */
>  	struct xfs_fsop_geom	geo;	/* current fs geometry */
> -	int			iflag;	/* -i flag */
>  	int			isint;	/* log is currently internal */
>  	int			lflag;	/* -l flag */
>  	long long		lsize;	/* new log size in fs blocks */
> @@ -55,7 +58,6 @@ main(int argc, char **argv)
>  	struct xfs_fsop_geom	ngeo;	/* new fs geometry */
>  	int			rflag;	/* -r flag */
>  	long long		rsize;	/* new rt size in fs blocks */
> -	int			xflag;	/* -x flag */
>  	char			*fname;	/* mount point name */
>  	char			*datadev; /* data device name */
>  	char			*logdev;  /*  log device name */
> @@ -72,7 +74,7 @@ main(int argc, char **argv)
>  
>  	maxpct = esize = 0;
>  	dsize = lsize = rsize = 0LL;
> -	aflag = dflag = iflag = lflag = mflag = nflag = rflag = xflag = 0;
> +	aflag = dflag = lflag = mflag = nflag = rflag = 0;
>  
>  	while ((c = getopt(argc, argv, "dD:e:ilL:m:np:rR:t:xV")) != EOF) {
>  		switch (c) {
> @@ -87,13 +89,13 @@ main(int argc, char **argv)
>  			rflag = 1;
>  			break;
>  		case 'i':
> -			lflag = iflag = 1;
> +			lflag |= LOG_EXT2INT;
>  			break;
>  		case 'L':
>  			lsize = strtoll(optarg, NULL, 10);
>  			fallthrough;
>  		case 'l':
> -			lflag = 1;
> +			lflag |= LOG_GROW;
>  			break;
>  		case 'm':
>  			mflag = 1;
> @@ -115,7 +117,7 @@ main(int argc, char **argv)
>  			mtab_file = optarg;
>  			break;
>  		case 'x':
> -			lflag = xflag = 1;
> +			lflag |= LOG_INT2EXT;
>  			break;
>  		case 'V':
>  			printf(_("%s version %s\n"), progname, VERSION);
> @@ -124,9 +126,7 @@ main(int argc, char **argv)
>  			usage();
>  		}
>  	}
> -	if (argc - optind != 1)
> -		usage();
> -	if (iflag && xflag)
> +	if (argc - optind != 1 || ((lflag & LOG_EXT2INT) && (lflag & LOG_INT2EXT)))
>  		usage();
>  	if (dflag + lflag + rflag + mflag == 0)
>  		aflag = 1;
> @@ -323,9 +323,9 @@ _("[EXPERIMENTAL] try to shrink unused space %lld, old size is %lld\n"),
>  
>  		if (!lsize)
>  			lsize = dlsize / (geo.blocksize / BBSIZE);
> -		if (iflag)
> +		if (lflag & LOG_EXT2INT)
>  			in.isint = 1;
> -		else if (xflag)
> +		else if (lflag & LOG_INT2EXT)
>  			in.isint = 0;
>  		else
>  			in.isint = xi.logBBsize == 0;
> -- 
> 2.33.0
> 





[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux