On Mon, Feb 13, 2023 at 09:34:20AM +0530, Chandan Babu R wrote: > Hi Darrick, > > This 5.4.y backport series contains fixes from v5.10 release. > > This patchset has been tested by executing fstests (via kdevops) using > the following XFS configurations, > > 1. No CRC (with 512 and 4k block size). > 2. Reflink/Rmapbt (1k and 4k block size). > 3. Reflink without Rmapbt. > 4. External log device. > > The following is the list of commits along with corresponding > dependent commits. > > 1. xfs: log new intent items created as part of finishing recovered intent > items > Dependent commits > 1. xfs: remove the xfs_efi_log_item_t typedef > 2. xfs: remove the xfs_efd_log_item_t typedef > 3. xfs: remove the xfs_inode_log_item_t typedef > 4. xfs: factor out a xfs_defer_create_intent helper > 5. xfs: merge the ->log_item defer op into ->create_intent > 6. xfs: merge the ->diff_items defer op into ->create_intent > 7. xfs: turn dfp_intent into a xfs_log_item > 8. xfs: refactor xfs_defer_finish_noroll > > 2. xfs: fix finobt btree block recovery ordering > 3. xfs: proper replay of deferred ops queued during log recovery > 4. xfs: xfs_defer_capture should absorb remaining block reservations > 5 xfs: xfs_defer_capture should absorb remaining transaction reservation > > 6. xfs: fix an incore inode UAF in xfs_bui_recover > Dependent commits > 1. xfs: clean up bmap intent item recovery checking > 2. xfs: clean up xfs_bui_item_recover iget/trans_alloc/ilock ordering > > 7. xfs: change the order in which child and parent defer ops are finished > > 8. xfs: periodically relog deferred intent items > Dependent commits > 1. xfs: prevent UAF in xfs_log_item_in_current_chkpt > > 9. xfs: only relog deferred intent items if free space in the log gets low > Dependent commits > 1. xfs: expose the log push threshold > > 10. xfs: fix missing CoW blocks writeback conversion retry > > 11. xfs: ensure inobt record walks always make forward progress > Dependent commits > 1. xfs: fix the forward progress assertion in xfs_iwalk_run_callbacks > > 12. xfs: sync lazy sb accounting on quiesce of read-only mounts > > The last commit was picked from v5.12 since failure rate of recovery loop > tests would increase drastically for some xfs configurations without applying > it. Looks good to me; thanks for putting this together! Acked-by: Darrick J. Wong <djwong@xxxxxxxxxx> --D > > Brian Foster (1): > xfs: sync lazy sb accounting on quiesce of read-only mounts > > Christoph Hellwig (8): > xfs: remove the xfs_efi_log_item_t typedef > xfs: remove the xfs_efd_log_item_t typedef > xfs: remove the xfs_inode_log_item_t typedef > xfs: factor out a xfs_defer_create_intent helper > xfs: merge the ->log_item defer op into ->create_intent > xfs: merge the ->diff_items defer op into ->create_intent > xfs: turn dfp_intent into a xfs_log_item > xfs: refactor xfs_defer_finish_noroll > > Darrick J. Wong (15): > xfs: log new intent items created as part of finishing recovered > intent items > xfs: proper replay of deferred ops queued during log recovery > xfs: xfs_defer_capture should absorb remaining block reservations > xfs: xfs_defer_capture should absorb remaining transaction reservation > xfs: clean up bmap intent item recovery checking > xfs: clean up xfs_bui_item_recover iget/trans_alloc/ilock ordering > xfs: fix an incore inode UAF in xfs_bui_recover > xfs: change the order in which child and parent defer ops are finished > xfs: periodically relog deferred intent items > xfs: expose the log push threshold > xfs: only relog deferred intent items if free space in the log gets > low > xfs: fix missing CoW blocks writeback conversion retry > xfs: ensure inobt record walks always make forward progress > xfs: fix the forward progress assertion in xfs_iwalk_run_callbacks > xfs: prevent UAF in xfs_log_item_in_current_chkpt > > Dave Chinner (1): > xfs: fix finobt btree block recovery ordering > > fs/xfs/libxfs/xfs_defer.c | 358 ++++++++++++++++++++++++-------- > fs/xfs/libxfs/xfs_defer.h | 49 ++++- > fs/xfs/libxfs/xfs_inode_fork.c | 2 +- > fs/xfs/libxfs/xfs_trans_inode.c | 2 +- > fs/xfs/xfs_aops.c | 4 +- > fs/xfs/xfs_bmap_item.c | 238 +++++++++++---------- > fs/xfs/xfs_bmap_item.h | 3 +- > fs/xfs/xfs_extfree_item.c | 175 +++++++++------- > fs/xfs/xfs_extfree_item.h | 18 +- > fs/xfs/xfs_icreate_item.c | 1 + > fs/xfs/xfs_inode.c | 4 +- > fs/xfs/xfs_inode_item.c | 2 +- > fs/xfs/xfs_inode_item.h | 4 +- > fs/xfs/xfs_iwalk.c | 27 ++- > fs/xfs/xfs_log.c | 68 ++++-- > fs/xfs/xfs_log.h | 3 + > fs/xfs/xfs_log_cil.c | 8 +- > fs/xfs/xfs_log_recover.c | 160 ++++++++------ > fs/xfs/xfs_mount.c | 3 +- > fs/xfs/xfs_refcount_item.c | 173 ++++++++------- > fs/xfs/xfs_refcount_item.h | 3 +- > fs/xfs/xfs_rmap_item.c | 161 +++++++------- > fs/xfs/xfs_rmap_item.h | 3 +- > fs/xfs/xfs_stats.c | 4 + > fs/xfs/xfs_stats.h | 1 + > fs/xfs/xfs_super.c | 8 +- > fs/xfs/xfs_trace.h | 1 + > fs/xfs/xfs_trans.h | 10 + > 28 files changed, 946 insertions(+), 547 deletions(-) > > -- > 2.35.1 >