Re: [WIP] [RFC PATCH] xfs_growfs: allow shrinking unused space in the last AG

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

 



On Wed, Oct 28, 2020 at 07:40:10PM +0800, Gao Xiang wrote:
> This allows shrinking operation can pass into kernel.
> 
> Signed-off-by: Gao Xiang <hsiangkao@xxxxxxxxxx>
> ---
> preliminary version.

...which is going to need a manpage update:

"-d | -D size

"Specifies that the data section of the filesystem should be resized. If
the -D size option is given, the data section is changed to that size,
otherwise the data section is grown to the largest size possible with
the -d option. The size is expressed in filesystem blocks.  A filesystem
with only 1 AG cannot be shrunk further, and a filesystem cannot be
shrunk to the point where it would only have 1 AG."

--D

> 
>  growfs/xfs_growfs.c | 9 ++++-----
>  1 file changed, 4 insertions(+), 5 deletions(-)
> 
> diff --git a/growfs/xfs_growfs.c b/growfs/xfs_growfs.c
> index a68b515d..d45ba703 100644
> --- a/growfs/xfs_growfs.c
> +++ b/growfs/xfs_growfs.c
> @@ -246,12 +246,11 @@ main(int argc, char **argv)
>  			error = 1;
>  		}
>  
> -		if (!error && dsize < geo.datablocks) {
> -			fprintf(stderr, _("data size %lld too small,"
> -				" old size is %lld\n"),
> +		if (!error && dsize < geo.datablocks)
> +			fprintf(stderr,
> +_("[EXPERIMENTAL] try to shrink unused space %lld, old size is %lld\n"),
>  				(long long)dsize, (long long)geo.datablocks);
> -			error = 1;
> -		} else if (!error &&
> +		if (!error &&
>  			   dsize == geo.datablocks && maxpct == geo.imaxpct) {
>  			if (dflag)
>  				fprintf(stderr, _(
> -- 
> 2.18.1
> 



[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