Hi folks, This is version 3 of https://lore.kernel.org/r/20201028231353.640969-1-hsiangkao@xxxxxxxxxx I resend to make sure if the shrinking upstreaming development can be done in an incremental progress. Days ago I also made a shrinking the entire AGs prototype at, https://git.kernel.org/pub/scm/linux/kernel/git/xiang/linux.git/log/?h=xfs/shrink2 which is still WIP / rather incomplete, yet any directions/suggestions about that would be greatly helpful to me as well. This mainly focuses on the previous review from Brian. Mainly to seperate the previous patch into a patchset. I'm not sure if it looks good this time (yet I think [PATCH 4/4] is simple enough to address the shrinking functionality) so post it again to reconfirm that.... and also to confirm if we need to use #ifdef DEBUG to wrap up the entrance (Although my humble opinion is that most end users don't build with DEBUG enabled....) xfsprogs: https://lore.kernel.org/r/20201028114010.545331-1-hsiangkao@xxxxxxxxxx xfstests: https://lore.kernel.org/r/20201028230909.639698-1-hsiangkao@xxxxxxxxxx Changes since v2: - [PATCH 4/4] fix a bug about "if (extend && ...)" (Brian); - split out the original patch (Brian, Eric, Darrick). Thanks, Gao Xiang Gao Xiang (4): xfs: rename `new' to `delta' in xfs_growfs_data_private() xfs: get rid of xfs_growfs_{data,log}_t xfs: hoist out xfs_resizefs_init_new_ags() xfs: support shrinking unused space in the last AG fs/xfs/libxfs/xfs_ag.c | 72 ++++++++++++++++++ fs/xfs/libxfs/xfs_ag.h | 2 + fs/xfs/libxfs/xfs_fs.h | 4 +- fs/xfs/xfs_fsops.c | 161 +++++++++++++++++++++++++++-------------- fs/xfs/xfs_fsops.h | 4 +- fs/xfs/xfs_ioctl.c | 4 +- fs/xfs/xfs_trans.c | 1 - 7 files changed, 185 insertions(+), 63 deletions(-) -- 2.27.0