post-EOF block handling revamp

Christoph Hellwig
2024-06-23T05:35:36Z

Hi all,

this series reworks handling of post-EOF blocks, primarily in ->release.
This takes over the work originally started by Dave in:

https://marc.info/?l=linux-xfs&m=154951612101291&w=2

and lingering in Darricks's tree:

https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git/log/?h=reduce-eofblocks-gc-on-close

for years to ensure ->release doesn't too eagerly kill post-EOF block
speculative preallocation and then goes on to not let preallocation
on inodes with the append only flag set linger forever.

I'll also post a rebased version of Dave's patches from back then.

The first patch has already been sent standalone and as part of Darrick's
fixes series, but as the rest of the series depends on it I'm sending it
here again - third time's a charm.

Diffstat:
xfs_bmap_util.c | 58 ++++++++++++++++++----------------
xfs_bmap_util.h | 2 -
xfs_file.c | 73 +++++++++++++++++++++++++++++++++++++++++--
xfs_icache.c | 4 +-
xfs_inode.c | 94 +-------------------------------------------------------
xfs_inode.h | 5 +-
6 files changed, 109 insertions(+), 127 deletions(-)