[ANNOUNCE] xfs-linux: for-next **REBASED** to 2909e02fec6c

Darrick J. Wong
2021-06-19T20:48:29Z

Hi folks,

The for-next branch of the xfs-linux repository at:

git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git

has just been **REBASED**. I decided that it was just too late in the
cycle to keep the massive CIL performance patchset since the problems
seemed to be getting worse. I get the strong sense that the 5.15 cycle
should concentrate on all the problems that have shook loose lately.

Patches often get missed, so please check if your outstanding patches
were in this update. If they have not been in this update, please
resubmit them to linux-xfs@vger.kernel.org so they can be picked up in
the next update.

The new head of the for-next branch is commit:

2909e02fec6c xfs: force the log offline when log intent item recovery fails

New Commits:

Allison Henderson (14):
[4126c06e25b3] xfs: Reverse apply 72b97ea40d
[a8490f699f6e] xfs: Add xfs_attr_node_remove_name
[6286514b63e1] xfs: Refactor xfs_attr_set_shortform
[f0f7c502c728] xfs: Separate xfs_attr_node_addname and xfs_attr_node_addname_clear_incomplete
[6ca5a4a1f529] xfs: Add helper xfs_attr_node_addname_find_attr
[5d954cc09f6b] xfs: Hoist xfs_attr_node_addname
[83c6e70789ff] xfs: Hoist xfs_attr_leaf_addname
[3f562d092bb1] xfs: Hoist node transaction handling
[2b74b03c13c4] xfs: Add delay ready attr remove routines
[8f502a400982] xfs: Add delay ready attr set routines
[0e6acf29db6f] xfs: Remove xfs_attr_rmtval_set
[4fd084dbbd05] xfs: Clean up xfs_attr_node_addname_clear_incomplete
[4a4957c16dc6] xfs: Fix default ASSERT in xfs_attr_set_iter
[816c8e39b7ea] xfs: Make attr name schemes consistent

Christoph Hellwig (4):
[5a981e4ea8ff] xfs: mark xfs_bmap_set_attrforkoff static
[54cd3aa6f810] xfs: remove ->b_offset handling for page backed buffers
[934d1076bb2c] xfs: simplify the b_page_count calculation
[170041f71596] xfs: cleanup error handling in xfs_buf_get_map

Darrick J. Wong (36):
[a7bcb147fef3] xfs: clean up open-coded fs block unit conversions
[20bd8e63f30b] xfs: remove unnecessary shifts
[1ad2cfe0a570] xfs: move the quotaoff dqrele inode walk into xfs_icache.c
[3ea06d73e3c0] xfs: detach inode dquots at the end of inactivation
[df60019739d8] xfs: move the inode walk functions further down
[c1115c0cba2b] xfs: rename xfs_inode_walk functions to xfs_icwalk
[c809d7e948a1] xfs: pass the goal of the incore inode walk to xfs_inode_walk()
[b9baaef42f76] xfs: separate the dqrele_all inode grab logic from xfs_inode_walk_ag_grab
[9d2793ceecb9] xfs: move xfs_inew_wait call into xfs_dqrele_inode
[7fdff52623b4] xfs: remove iter_flags parameter from xfs_inode_walk_*
[f427cf5c6236] xfs: remove indirect calls from xfs_inode_walk{,_ag}
[d20d5edcf941] xfs: clean up inode state flag tests in xfs_blockgc_igrab
[594ab00b760f] xfs: make the icwalk processing functions clean up the grab state
[919a4ddb6841] xfs: fix radix tree tag signs
[9d5ee8375951] xfs: pass struct xfs_eofblocks to the inode scan callback
[f1bc5c5630f9] xfs: merge xfs_reclaim_inodes_ag into xfs_inode_walk_ag
[c076ae7a9361] xfs: refactor per-AG inode tagging functions
[ebf2e3372332] Merge tag 'xfs-buf-bulk-alloc-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs into xfs-5.14-merge2
[c3eabd365034] Merge tag 'xfs-perag-conv-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs into xfs-5.14-merge2
[f52edf6c54d9] Merge tag 'unit-conversion-cleanups-5.14_2021-06-03' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-5.14-merge2
[8b943d21d40d] Merge tag 'assorted-fixes-5.14-1_2021-06-03' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-5.14-merge2
[ffc18582ed18] Merge tag 'inode-walk-cleanups-5.14_2021-06-03' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-5.14-merge2
[255794c7ed7a] xfs: only reset incore inode health state flags when reclaiming an inode
[7975e465af6b] xfs: drop IDONTCACHE on inodes when we mark them sick
[2d53f66baffd] xfs: change the prefix of XFS_EOF_FLAGS_* to XFS_ICWALK_FLAG_
[9492750a8b18] xfs: selectively keep sick inodes in memory
[b26b2bf14f82] xfs: rename struct xfs_eofblocks to xfs_icwalk
[295abff2fb94] Merge tag 'fix-inode-health-reports-5.14_2021-06-08' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-5.14-merge2
[68b2c8bcdb81] Merge tag 'rename-eofblocks-5.14_2021-06-08' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-5.14-merge2
[d1015e2ebda6] Merge tag 'xfs-delay-ready-attrs-v20.1' of https://github.com/allisonhenderson/xfs_work into xfs-5.14-merge4
[3969b4cc3aa1] xfs: refactor the inode recycling code
[64cc4ef3af1a] xfs: separate primary inode selection criteria in xfs_iget_cache_hit
[04d50afabd23] xfs: fix type mismatches in the inode reclaim functions
[a331e4eeecae] xfs: print name of function causing fs shutdown instead of hex pointer
[833b16f73994] xfs: fix log intent recovery ENOSPC shutdowns when inactivating inodes
[2909e02fec6c] xfs: force the log offline when log intent item recovery fails

Dave Chinner (43):
[0a683794ace2] xfs: split up xfs_buf_allocate_memory
[07b5c5add42a] xfs: use xfs_buf_alloc_pages for uncached buffers
[c9fa563072e1] xfs: use alloc_pages_bulk_array() for buffers
[02c511738688] xfs: merge _xfs_buf_get_pages()
[e7d236a6fe51] xfs: move page freeing into _xfs_buf_free_pages()
[9bbafc71919a] xfs: move xfs_perag_get/put to xfs_ag.[ch]
[61aa005a5bd7] xfs: prepare for moving perag definitions and support to libxfs
[07b6403a6873] xfs: move perag structure and setup to libxfs/xfs_ag.[ch]
[f250eedcf762] xfs: make for_each_perag... a first class citizen
[934933c3eec9] xfs: convert raw ag walks to use for_each_perag
[6f4118fc6482] xfs: convert xfs_iwalk to use perag references
[7f8d3b3ca6fe] xfs: convert secondary superblock walk to use perags
[45d066211756] xfs: pass perags through to the busy extent code
[30933120ad79] xfs: push perags through the ag reservation callouts
[58d43a7e3263] xfs: pass perags around in fsmap data dev functions
[be9fb17d88f0] xfs: add a perag to the btree cursor
[fa9c3c197329] xfs: convert rmap btree cursor to using a perag
[a81a06211fb4] xfs: convert refcount btree cursor to use perags
[289d38d22cd8] xfs: convert allocbt cursors to use perags
[7b13c5155182] xfs: use perag for ialloc btree cursors
[50f02fe3338d] xfs: remove agno from btree cursor
[4268547305c9] xfs: simplify xfs_dialloc_select_ag() return values
[89b1f55a2951] xfs: collapse AG selection for inode allocation
[b652afd93703] xfs: get rid of xfs_dir_ialloc()
[309161f6603c] xfs: inode allocation can use a single perag instance
[8237fbf53d6f] xfs: clean up and simplify xfs_dialloc()
[f40aadb2bb64] xfs: use perag through unlink processing
[509201163fca] xfs: remove xfs_perag_t
[977ec4ddf0b7] xfs: don't take a spinlock unconditionally in the DIO fastpath
[289ae7b48c2c] xfs: get rid of xb_to_gfp()
[8bcac7448a94] xfs: merge xfs_buf_allocate_memory
[9ba0889e2272] xfs: drop the AGI being passed to xfs_check_agi_freecount
[90e2c1c20ac6] xfs: perag may be null in xfs_imap()
[a6a65fef5ef8] xfs: log stripe roundoff is a property of the log
[25f25648e57c] xfs: separate CIL commit record IO
[9b845604a4d5] xfs: remove xfs_blkdev_issue_flush
[e45cc747a6fd] xfs: async blkdev cache flush
[d7693a7f4ef9] xfs: CIL checkpoint flushes caches unconditionally
[6a5c6f5ef0a4] xfs: remove need_start_rec parameter from xlog_write()
[feb616896031] xfs: journal IO cache flush reductions
[e30fbb337045] xfs: Fix CIL throttle hang when CIL space used going backwards
[742140d2a486] xfs: xfs_log_force_lsn isn't passed a LSN
[0f4976a8b389] xfs: add iclog state trace events

Geert Uytterhoeven (1):
[18842e0a4f48] xfs: Fix 64-bit division on 32-bit in xlog_state_switch_iclogs()

Jiapeng Chong (1):
[9673261c32dc] xfs: Remove redundant assignment to busy

Shaokun Zhang (2):
[5f7fd7508620] xfs: sort variable alphabetically to avoid repeated declaration
[9bb38aa08039] xfs: remove redundant initialization of variable error

Code Diffstat:

fs/xfs/libxfs/xfs_ag.c | 273 ++++++++-
fs/xfs/libxfs/xfs_ag.h | 136 +++++
fs/xfs/libxfs/xfs_ag_resv.c | 11 +-
fs/xfs/libxfs/xfs_ag_resv.h | 15 +
fs/xfs/libxfs/xfs_alloc.c | 111 ++--
fs/xfs/libxfs/xfs_alloc.h | 2 +-
fs/xfs/libxfs/xfs_alloc_btree.c | 31 +-
fs/xfs/libxfs/xfs_alloc_btree.h | 9 +-
fs/xfs/libxfs/xfs_attr.c | 956 +++++++++++++++++------------
fs/xfs/libxfs/xfs_attr.h | 403 +++++++++++++
fs/xfs/libxfs/xfs_attr_leaf.c | 5 +-
fs/xfs/libxfs/xfs_attr_leaf.h | 2 +-
fs/xfs/libxfs/xfs_attr_remote.c | 167 +++---
fs/xfs/libxfs/xfs_attr_remote.h | 8 +-
fs/xfs/libxfs/xfs_bmap.c | 3 +-
fs/xfs/libxfs/xfs_bmap.h | 1 -
fs/xfs/libxfs/xfs_btree.c | 15 +-
fs/xfs/libxfs/xfs_btree.h | 10 +-
fs/xfs/libxfs/xfs_ialloc.c | 641 ++++++++++----------
fs/xfs/libxfs/xfs_ialloc.h | 40 +-
fs/xfs/libxfs/xfs_ialloc_btree.c | 46 +-
fs/xfs/libxfs/xfs_ialloc_btree.h | 13 +-
fs/xfs/libxfs/xfs_inode_buf.c | 2 +-
fs/xfs/libxfs/xfs_log_format.h | 3 -
fs/xfs/libxfs/xfs_refcount.c | 122 ++--
fs/xfs/libxfs/xfs_refcount.h | 9 +-
fs/xfs/libxfs/xfs_refcount_btree.c | 39 +-
fs/xfs/libxfs/xfs_refcount_btree.h | 7 +-
fs/xfs/libxfs/xfs_rmap.c | 147 ++---
fs/xfs/libxfs/xfs_rmap.h | 6 +-
fs/xfs/libxfs/xfs_rmap_btree.c | 46 +-
fs/xfs/libxfs/xfs_rmap_btree.h | 6 +-
fs/xfs/libxfs/xfs_sb.c | 146 +----
fs/xfs/libxfs/xfs_sb.h | 9 -
fs/xfs/libxfs/xfs_shared.h | 20 +-
fs/xfs/libxfs/xfs_types.c | 4 +-
fs/xfs/libxfs/xfs_types.h | 1 +
fs/xfs/scrub/agheader.c | 1 +
fs/xfs/scrub/agheader_repair.c | 33 +-
fs/xfs/scrub/alloc.c | 3 +-
fs/xfs/scrub/bmap.c | 21 +-
fs/xfs/scrub/common.c | 15 +-
fs/xfs/scrub/fscounters.c | 42 +-
fs/xfs/scrub/health.c | 2 +-
fs/xfs/scrub/ialloc.c | 9 +-
fs/xfs/scrub/refcount.c | 3 +-
fs/xfs/scrub/repair.c | 14 +-
fs/xfs/scrub/rmap.c | 3 +-
fs/xfs/scrub/trace.c | 3 +-
fs/xfs/xfs_attr_inactive.c | 2 +-
fs/xfs/xfs_bio_io.c | 35 ++
fs/xfs/xfs_bmap_util.c | 6 +-
fs/xfs/xfs_buf.c | 311 ++++------
fs/xfs/xfs_buf.h | 3 +-
fs/xfs/xfs_buf_item.c | 39 +-
fs/xfs/xfs_discard.c | 6 +-
fs/xfs/xfs_dquot_item.c | 2 +-
fs/xfs/xfs_extent_busy.c | 35 +-
fs/xfs/xfs_extent_busy.h | 7 +-
fs/xfs/xfs_file.c | 70 ++-
fs/xfs/xfs_filestream.c | 2 +-
fs/xfs/xfs_fsmap.c | 80 ++-
fs/xfs/xfs_fsops.c | 10 +-
fs/xfs/xfs_health.c | 15 +-
fs/xfs/xfs_icache.c | 1162 ++++++++++++++++++++----------------
fs/xfs/xfs_icache.h | 58 +-
fs/xfs/xfs_inode.c | 234 ++++----
fs/xfs/xfs_inode.h | 9 +-
fs/xfs/xfs_inode_item.c | 18 +-
fs/xfs/xfs_inode_item.h | 2 +-
fs/xfs/xfs_ioctl.c | 41 +-
fs/xfs/xfs_iops.c | 4 +-
fs/xfs/xfs_iwalk.c | 84 ++-
fs/xfs/xfs_linux.h | 2 +
fs/xfs/xfs_log.c | 223 ++++---
fs/xfs/xfs_log.h | 5 +-
fs/xfs/xfs_log_cil.c | 103 +++-
fs/xfs/xfs_log_priv.h | 38 +-
fs/xfs/xfs_log_recover.c | 61 +-
fs/xfs/xfs_mount.c | 136 +----
fs/xfs/xfs_mount.h | 110 +---
fs/xfs/xfs_qm.c | 10 +-
fs/xfs/xfs_qm.h | 1 -
fs/xfs/xfs_qm_syscalls.c | 54 +-
fs/xfs/xfs_reflink.c | 13 +-
fs/xfs/xfs_super.c | 10 +-
fs/xfs/xfs_super.h | 1 -
fs/xfs/xfs_symlink.c | 9 +-
fs/xfs/xfs_trace.c | 2 +
fs/xfs/xfs_trace.h | 115 +++-
fs/xfs/xfs_trans.c | 6 +-
fs/xfs/xfs_trans.h | 4 +-
92 files changed, 3782 insertions(+), 2970 deletions(-)