misc buffer cache improvements v2

Christoph Hellwig <[email protected]> Tue, 28 Jul 2026 10:11:08 +0200
Newsgroups org.kernel.vger.linux-xfs
Message-ID <[email protected]>
Hi all,

a bunch of misc xfs_buf patches.  These came out of a little
project that needs a async read API (not actually included here),
and to get there a lot of lose ends had to be cleaned up, and a
lockless path for readaheads that doesn't kick off the read fell
out easily.

Changes since v1:
 - fix a bisection hazard where xfs_incore would return 0 instead of
   ENOENT for a few commits
 - update a few comments to better describe the logic
 - fix a spelling error in a comment
 - clear *bpp when returning failures from the public APIs to be
   consistent
 - give xfs_find_get_buf a __-prefix

Diffstat:
 libxfs/xfs_btree_staging.c |    7 
 libxfs/xfs_dquot_buf.c     |    8 
 libxfs/xfs_ialloc.c        |    2 
 libxfs/xfs_inode_buf.c     |   15 -
 xfs_buf.c                  |  417 ++++++++++++++++++++++++---------------------
 xfs_buf.h                  |    8 
 xfs_buf_item.c             |   10 -
 xfs_buf_item_recover.c     |    3 
 xfs_dquot_item_recover.c   |    1 
 xfs_fsops.c                |    2 
 xfs_inode.c                |    4 
 xfs_inode_item_recover.c   |    1 
 xfs_log_recover.c          |    5 
 xfs_trace.h                |    2 
 xfs_trans_buf.c            |    7 
 15 files changed, 261 insertions(+), 231 deletions(-)