On Wed, Mar 24, 2021 at 10:32:15AM -0700, Darrick J. Wong wrote: > 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." Ah, ok, will update this. thanks for pointing out. Thanks, Gao Xiang > > --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 > > >