linux/fs/xfs/libxfs
Darrick J. Wong dbfbf3bdf6 xfs: repair inode btrees
Use the rmapbt to find inode chunks, query the chunks to compute hole
and free masks, and with that information rebuild the inobt and finobt.
Refer to the case study in
Documentation/filesystems/xfs-online-fsck-design.rst for more details.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2023-12-15 10:03:32 -08:00
..
xfs_ag_resv.c xfs: repair free space btrees 2023-12-15 10:03:32 -08:00
xfs_ag_resv.h
xfs_ag.c xfs: remove __xfs_free_extent_later 2023-12-06 18:45:18 -08:00
xfs_ag.h xfs: repair free space btrees 2023-12-15 10:03:32 -08:00
xfs_alloc_btree.c xfs: repair free space btrees 2023-12-15 10:03:32 -08:00
xfs_alloc_btree.h xfs: use separate btree cursor cache for each btree type 2021-10-19 11:45:16 -07:00
xfs_alloc.c xfs: repair free space btrees 2023-12-15 10:03:32 -08:00
xfs_alloc.h xfs: repair free space btrees 2023-12-15 10:03:32 -08:00
xfs_attr_leaf.c xfs: extract xfs_da_buf_copy() helper function 2023-12-07 14:57:14 +05:30
xfs_attr_leaf.h xfs: don't hold xattr leaf buffers across transaction rolls 2022-06-29 08:47:56 -07:00
xfs_attr_remote.c xfs: rework xfs_buf_incore() API 2022-07-07 22:05:18 +10:00
xfs_attr_remote.h xfs: rename struct xfs_attr_item to xfs_attr_intent 2022-05-22 16:00:26 +10:00
xfs_attr_sf.h
xfs_attr.c xfs: pass the defer ops directly to xfs_defer_add 2023-12-14 11:13:52 +05:30
xfs_attr.h xfs: replace XFS_IFORK_Q with a proper predicate function 2022-07-12 11:17:27 -07:00
xfs_bit.c
xfs_bit.h
xfs_bmap_btree.c xfs: remove __xfs_free_extent_later 2023-12-06 18:45:18 -08:00
xfs_bmap_btree.h xfs: use separate btree cursor cache for each btree type 2021-10-19 11:45:16 -07:00
xfs_bmap.c xfs: pass the defer ops directly to xfs_defer_add 2023-12-14 11:13:52 +05:30
xfs_bmap.h xfs: accumulate iextent records when checking bmap 2023-04-11 19:00:24 -07:00
xfs_btree_staging.c xfs: constrain dirty buffers while formatting a staged btree 2023-12-15 10:03:29 -08:00
xfs_btree_staging.h xfs: constrain dirty buffers while formatting a staged btree 2023-12-15 10:03:29 -08:00
xfs_btree.c xfs: read leaf blocks when computing keys for bulkloading into node blocks 2023-12-15 10:03:28 -08:00
xfs_btree.h xfs: read leaf blocks when computing keys for bulkloading into node blocks 2023-12-15 10:03:28 -08:00
xfs_cksum.h
xfs_da_btree.c xfs: extract xfs_da_buf_copy() helper function 2023-12-07 14:57:14 +05:30
xfs_da_btree.h xfs: extract xfs_da_buf_copy() helper function 2023-12-07 14:57:14 +05:30
xfs_da_format.h xfs: convert flex-array declarations in xfs attr shortform objects 2023-07-17 08:48:56 -07:00
xfs_defer.c xfs: pass the defer ops directly to xfs_defer_add 2023-12-14 11:13:52 +05:30
xfs_defer.h xfs: pass the defer ops directly to xfs_defer_add 2023-12-14 11:13:52 +05:30
xfs_dir2_block.c xfs: replace inode fork size macros with functions 2022-07-12 11:17:27 -07:00
xfs_dir2_data.c xfs: convert bp->b_bn references to xfs_buf_daddr() 2021-08-19 10:07:15 -07:00
xfs_dir2_leaf.c xfs: fix exception caused by unexpected illegal bestcount in leaf dir 2022-10-20 09:42:56 -07:00
xfs_dir2_node.c xfs: convert bp->b_bn references to xfs_buf_daddr() 2021-08-19 10:07:15 -07:00
xfs_dir2_priv.h xfs: constify the name argument to various directory functions 2022-03-14 10:23:17 -07:00
xfs_dir2_sf.c xfs: Remove the unneeded result variable 2022-09-19 06:52:14 +10:00
xfs_dir2.c xfs: stabilize the dirent name transformation function used for ascii-ci dir hash computation 2023-04-11 19:05:04 -07:00
xfs_dir2.h xfs: stabilize the dirent name transformation function used for ascii-ci dir hash computation 2023-04-11 19:05:04 -07:00
xfs_dquot_buf.c xfs: remove the xfs_dqblk_t typedef 2021-10-14 09:19:33 -07:00
xfs_errortag.h xfs: add debug knob to slow down write for fun 2022-11-28 17:54:49 -08:00
xfs_format.h xfs: use accessor functions for summary info words 2023-10-18 16:53:00 -07:00
xfs_fs.h xfs: allow userspace to rebuild metadata structures 2023-08-10 07:48:11 -07:00
xfs_health.h
xfs_ialloc_btree.c xfs: remove __xfs_free_extent_later 2023-12-06 18:45:18 -08:00
xfs_ialloc_btree.h xfs: standardize ondisk to incore conversion for inode btrees 2023-04-11 19:00:01 -07:00
xfs_ialloc.c xfs: repair inode btrees 2023-12-15 10:03:32 -08:00
xfs_ialloc.h xfs: repair inode btrees 2023-12-15 10:03:32 -08:00
xfs_iext_tree.c
xfs_inode_buf.c xfs: inode recovery does not validate the recovered inode 2023-11-13 09:11:41 +05:30
xfs_inode_buf.h xfs: kill xfs_sb_version_has_v3inode() 2021-08-19 10:07:14 -07:00
xfs_inode_fork.c xfs: standardize btree record checking code [v24.5] 2023-04-14 07:09:18 +10:00
xfs_inode_fork.h xfs: _{attr,data}_map_shared should take ILOCK_EXCL until iread_extents is completely done 2023-04-12 15:49:10 +10:00
xfs_log_format.h xfs: fix AGF vs inode cluster buffer deadlock 2023-06-05 04:08:27 +10:00
xfs_log_recover.h xfs: pass the defer ops instead of type to xfs_defer_start_recovery 2023-12-14 11:13:38 +05:30
xfs_log_rlimit.c xfs: reduce transaction reservations with reflink 2022-04-28 10:25:42 -07:00
xfs_ondisk.h xfs: move xfs_ondisk.h to libxfs/ 2023-12-07 15:15:29 +05:30
xfs_quota_defs.h xfs: remove warning counters from struct xfs_dquot_res 2022-05-11 17:12:09 +10:00
xfs_refcount_btree.c xfs: remove __xfs_free_extent_later 2023-12-06 18:45:18 -08:00
xfs_refcount_btree.h xfs: use separate btree cursor cache for each btree type 2021-10-19 11:45:16 -07:00
xfs_refcount.c xfs: pass the defer ops directly to xfs_defer_add 2023-12-14 11:13:52 +05:30
xfs_refcount.h xfs: replace xfs_btree_has_record with a general keyspace scanner 2023-04-11 19:00:10 -07:00
xfs_rmap_btree.c xfs: implement masked btree key comparisons for _has_records scans 2023-04-11 19:00:11 -07:00
xfs_rmap_btree.h xfs: use separate btree cursor cache for each btree type 2021-10-19 11:45:16 -07:00
xfs_rmap.c xfs: pass the defer ops directly to xfs_defer_add 2023-12-14 11:13:52 +05:30
xfs_rmap.h xfs: teach scrub to check for sole ownership of metadata objects 2023-04-11 19:00:15 -07:00
xfs_rtbitmap.c xfs: fix 32-bit truncation in xfs_compute_rextslog 2023-12-06 18:45:17 -08:00
xfs_rtbitmap.h xfs: don't allow overly small or large realtime volumes 2023-12-06 18:45:17 -08:00
xfs_sb.c xfs: don't allow overly small or large realtime volumes 2023-12-06 18:45:17 -08:00
xfs_sb.h xfs: bump max fsgeom struct version 2023-10-17 08:40:54 -07:00
xfs_shared.h xfs: tag transactions that contain intent done items 2022-05-04 11:46:21 +10:00
xfs_symlink_remote.c xfs: convert XFS_IFORK_PTR to a static inline helper 2022-07-09 15:17:21 -07:00
xfs_trans_inode.c xfs: convert to new timestamp accessors 2023-10-18 14:08:29 +02:00
xfs_trans_resv.c xfs: create helpers for rtbitmap block/wordcount computations 2023-10-18 10:58:58 -07:00
xfs_trans_resv.h xfs: rename xfs_*alloc*_log_count to _block_count 2022-04-28 10:25:59 -07:00
xfs_trans_space.h xfs: compute the maximum height of the rmap btree when reflink enabled 2021-10-19 11:45:16 -07:00
xfs_types.c xfs: rename xfs_verify_rtext to xfs_verify_rtbext 2023-10-17 16:24:22 -07:00
xfs_types.h xfs: repair free space btrees 2023-12-15 10:03:32 -08:00