Hi Linus, Can you please pull the XFS updates for 5.19 from the tag listed below? It merges cleanly with the TOT kernel I just pulled a couple of minutes ago, with no difference in the diffstat below this time. This update is largely bug fixes and cleanups for all the code merged in the first pull request. The majority of them are to the new logged attribute code, but there are also a couple of fixes for other log recovery and memory leaks that have recently been found. Some of the code in the tree predates that pull request, so there is still a couple of empty merge commit messages. All the branches merged since the last pull request have descriptions and SOB tags in the merge commits to explain what was merged and where it came from. If there's any problems with the tree, let me know and I'll fix it up as needed. Cheers, Dave. ----- The following changes since commit efd409a4329f6927795be5ae080cd3ec8c014f49: Merge branch 'xfs-5.19-quota-warn-remove' into xfs-5.19-for-next (2022-05-12 15:23:07 +1000) are available in the Git repository at: git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git tags/xfs-5.19-for-linus-2 for you to fetch changes up to 7146bda743e6f543af60584fad2cfbb6ce83d8ac: Merge branch 'guilt/xfs-5.19-larp-cleanups' into xfs-5.19-for-next (2022-05-30 10:58:59 +1000) ---------------------------------------------------------------- xfs: Changes for 5.19-rc1 [2nd set] This update includes: - fix refcount leak in xfs_ifree() - fix xfs_buf_cancel structure leaks in log recovery - fix dquot leak after failed quota check - fix a couple of problematic ASSERTS - fix small aim7 perf regression in from new btree sibling validation - clean up log incompat feature marking for new logged attribute feature - disallow logged attributes on legacy V4 filesystem formats. - fix da state leak when freeing attr intents - improve validation of the attr log items in recovery - use slab caches for commonly used attr structures - fix leaks of attr name/value buffer and reduce copying overhead during intent logging - remove some dead debug code from log recovery ---------------------------------------------------------------- Brian Foster (1): xfs: fix xfs_ifree() error handling to not leak perag ref Darrick J. Wong (25): xfs: don't leak da state when freeing the attr intent item xfs: don't leak the retained da state when doing a leaf to node conversion xfs: reject unknown xattri log item operation flags during recovery xfs: reject unknown xattri log item filter flags during recovery xfs: validate xattr name earlier in recovery xfs: free xfs_attrd_log_items correctly xfs: clean up xfs_attr_node_hasname xfs: put the xattr intent item op flags in their own namespace xfs: use a separate slab cache for deferred xattr work state xfs: remove struct xfs_attr_item.xattri_flags xfs: put attr[id] log item cache init with the others xfs: clean up state variable usage in xfs_attr_node_remove_attr xfs: rename struct xfs_attr_item to xfs_attr_intent xfs: do not use logged xattr updates on V4 filesystems xfs: share xattr name and value buffers when logging xattr updates xfs: purge dquots after inode walk fails during quotacheck xfs: don't leak btree cursor when insrec fails after a split xfs: refactor buffer cancellation table allocation xfs: don't leak xfs_buf_cancel structures when recovery fails xfs: convert buf_cancel_table allocation to kmalloc_array xfs: don't log every time we clear the log incompat flags xfs: implement per-mount warnings for scrub and shrink usage xfs: warn about LARP once per mount xfs: move xfs_attr_use_log_assist out of xfs_log.c xfs: move xfs_attr_use_log_assist usage out of libxfs Dave Chinner (6): Merge branch 'guilt/xfs-5.19-misc-3' into xfs-5.19-for-next xfs: avoid unnecessary runtime sibling pointer endian conversions xfs: don't assert fail on perag references on teardown xfs: assert in xfs_btree_del_cursor should take into account error Merge branch 'guilt/xfs-5.19-recovery-buf-cancel' into xfs-5.19-for-next Merge branch 'guilt/xfs-5.19-larp-cleanups' into xfs-5.19-for-next Jiapeng Chong (2): xfs: Remove dead code xfs: Remove duplicate include Julia Lawall (1): xfs: fix typo in comment Kaixu Xia (1): xfs: reduce IOCB_NOWAIT judgment for retry exclusive unaligned DIO fs/xfs/libxfs/xfs_ag.c | 3 +- fs/xfs/libxfs/xfs_attr.c | 198 +++++++++++++++++++++++--------------------------- fs/xfs/libxfs/xfs_attr.h | 63 ++++++++-------- fs/xfs/libxfs/xfs_attr_remote.c | 6 +- fs/xfs/libxfs/xfs_attr_remote.h | 6 +- fs/xfs/libxfs/xfs_btree.c | 63 +++++++++++----- fs/xfs/libxfs/xfs_da_btree.c | 11 +++ fs/xfs/libxfs/xfs_da_btree.h | 1 + fs/xfs/libxfs/xfs_defer.c | 67 ++++++++++++----- fs/xfs/libxfs/xfs_log_format.h | 18 +++-- fs/xfs/libxfs/xfs_log_recover.h | 14 ++-- fs/xfs/libxfs/xfs_symlink_remote.c | 2 +- fs/xfs/scrub/scrub.c | 17 +---- fs/xfs/xfs_acl.c | 3 +- fs/xfs/xfs_attr_item.c | 364 +++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------- fs/xfs/xfs_attr_item.h | 22 ++++-- fs/xfs/xfs_buf_item_recover.c | 66 +++++++++++++++++ fs/xfs/xfs_file.c | 2 +- fs/xfs/xfs_fsops.c | 7 +- fs/xfs/xfs_inode.c | 2 +- fs/xfs/xfs_ioctl.c | 3 +- fs/xfs/xfs_iops.c | 3 +- fs/xfs/xfs_log.c | 41 ----------- fs/xfs/xfs_log.h | 7 ++ fs/xfs/xfs_log_priv.h | 3 - fs/xfs/xfs_log_recover.c | 93 +++--------------------- fs/xfs/xfs_message.h | 6 ++ fs/xfs/xfs_mount.c | 1 - fs/xfs/xfs_mount.h | 18 ++++- fs/xfs/xfs_qm.c | 9 ++- fs/xfs/xfs_super.c | 20 ++++++ fs/xfs/xfs_super.h | 1 - fs/xfs/xfs_xattr.c | 79 +++++++++++++++++++- fs/xfs/xfs_xattr.h | 13 ++++ 34 files changed, 719 insertions(+), 513 deletions(-) create mode 100644 fs/xfs/xfs_xattr.h -- Dave Chinner david@xxxxxxxxxxxxx