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

Darrick J. Wong
2021-06-22T16:19:04Z

On Tue, Jun 22, 2021 at 09:02:18AM -0400, Brian Foster wrote:
> On Sat, Jun 19, 2021 at 01:48:25PM -0700, Darrick J. Wong wrote:
> > 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
> >
>
> FYI, I've run about 500 iterations of generic/019 and generic/475 with
> the rebased for-next plus the bli use after free patches (otherwise I
> inevitably hit the associated crash) overnight. There were ~20 475
> failures, but those are likely accounted for by the preexisting 475
> corruption issue we already know about.

Cool! Thanks for testing that; I'll have new branch out in a few days
after I return from vacation to fix the sob errors and add some more fix
patches.

--D

> Brian
>
> > 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(-)
> >
>