On Fri, Mar 26, 2021 at 10:46:31AM +0800, Gao Xiang wrote: > From: Gao Xiang <hsiangkao@xxxxxxxxxx> > > This allows shrinking operation can pass into kernel. Currently, > only shrinking unused space in the tail AG functionality works. > > Signed-off-by: Gao Xiang <hsiangkao@xxxxxxxxxx> Looks like a reasonable start, Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> --D > --- > v1: https://lore.kernel.org/r/20201028114010.545331-1-hsiangkao@xxxxxxxxxx > change since v1: > - update manpage description (Darrick); > > growfs/xfs_growfs.c | 9 ++++----- > man/man8/xfs_growfs.8 | 8 +++++--- > 2 files changed, 9 insertions(+), 8 deletions(-) > > diff --git a/growfs/xfs_growfs.c b/growfs/xfs_growfs.c > index a68b515de40d..d45ba703cc6f 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, _( > diff --git a/man/man8/xfs_growfs.8 b/man/man8/xfs_growfs.8 > index 60a88189dd88..a01269270580 100644 > --- a/man/man8/xfs_growfs.8 > +++ b/man/man8/xfs_growfs.8 > @@ -60,14 +60,16 @@ becomes available for additional file storage. > .SH OPTIONS > .TP > .BI "\-d | \-D " size > -Specifies that the data section of the filesystem should be grown. If the > +Specifies that the data section of the filesystem should be resized. If the > .B \-D > .I size > -option is given, the data section is grown to that > +option is given, the data section is changed to that > .IR size , > otherwise the data section is grown to the largest size possible with the > .B \-d > -option. The size is expressed in filesystem blocks. > +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. > .TP > .B \-e > Allows the real-time extent size to be specified. In > -- > 2.20.1 >