[GIT PULL] xfs: bug fixes for 5.14-rc2

From: Darrick J. Wong
Date: Sun Jul 18 2021 - 12:39:47 EST

Hi Linus,

Please pull this branch containing a bunch of bug fixes in XFS. There
are a few fixes for issues in the new online shrink code, additional
corrections for my recent bug-hunt w.r.t. extent size hints on realtime,
and improved input checking of the GROWFSRT ioctl. IOWs, the usual "I
somehow got bored during the merge window and resumed auditing the
farther reaches of xfs."

The branch merges cleanly against upstream as of a few minutes ago.
Please let me know if anything else strange happens during the merge


The following changes since commit e73f0f0ee7541171d89f2e2491130c7771ba58d3:

Linux 5.14-rc1 (2021-07-11 15:07:40 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git tags/xfs-5.14-fixes-1

for you to fetch changes up to b102a46ce16fd5550aed882c3c5b95f50da7992c:

xfs: detect misaligned rtinherit directory extent size hints (2021-07-15 09:58:42 -0700)

Fixes for 5.14-rc:
* Fix shrink eligibility checking when sparse inode clusters enabled.
* Reset '..' directory entries when unlinking directories to prevent
verifier errors if fs is shrinked later.
* Don't report unusable extent size hints to FSGETXATTR.
* Don't warn when extent size hints are unusable because the sysadmin
configured them that way.
* Fix insufficient parameter validation in GROWFSRT ioctl.
* Fix integer overflow when adding rt volumes to filesystem.

Darrick J. Wong (7):
xfs: check for sparse inode clusters that cross new EOAG when shrinking
xfs: reset child dir '..' entry when unlinking child
xfs: correct the narrative around misaligned rtinherit/extszinherit dirs
xfs: don't expose misaligned extszinherit hints to userspace
xfs: improve FSGROWFSRT precondition checking
xfs: fix an integer overflow error in xfs_growfs_rt
xfs: detect misaligned rtinherit directory extent size hints

fs/xfs/libxfs/xfs_ag.c | 8 ++++++
fs/xfs/libxfs/xfs_ialloc.c | 55 +++++++++++++++++++++++++++++++++++++++++
fs/xfs/libxfs/xfs_ialloc.h | 3 +++
fs/xfs/libxfs/xfs_inode_buf.c | 28 ++++++++++++---------
fs/xfs/libxfs/xfs_trans_inode.c | 10 +++-----
fs/xfs/scrub/inode.c | 18 ++++++++++++--
fs/xfs/xfs_inode.c | 13 ++++++++++
fs/xfs/xfs_ioctl.c | 27 ++++++++++++++++----
fs/xfs/xfs_rtalloc.c | 49 +++++++++++++++++++++++++++---------
9 files changed, 174 insertions(+), 37 deletions(-)