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. Note that this does not include any of the suggested improvements for i_flags_lock contention - that's left for a follow-on series. Changes since v2: - fix another typo - use test and set semantics for XFS_EOFBLOCKS_RELEASED Changes since v1: - fix a few commit log and comment typos Diffstat: xfs_bmap_util.c | 34 ++++++++--------------- xfs_file.c | 72 +++++++++++++++++++++++++++++++++++++++++++++++-- xfs_icache.c | 2 - xfs_inode.c | 82 -------------------------------------------------------- xfs_inode.h | 5 +-- 5 files changed, 84 insertions(+), 111 deletions(-)