OpenCloudOS-Kernel/fs/xfs/scrub
Darrick J. Wong b83e4c3ced xfs: xfs_scrub_iallocbt_xref_rmap_inodes should use xref_set_corrupt
In xfs_scrub_iallocbt_xref_rmap_inodes we're checking inodes against
rmap records, so we should use xfs_scrub_btree_xref_set_corrupt if we
encounter discrepancies here so that we know that it's a cross
referencing error, not necessarily a corruption in the inobt itself.

The userspace xfs_scrub program will try to repair outright corruptions
in the agi/inobt prior to phase 3 so that the inode scan will proceed.
If only a cross-referencing error is noted, the repair program defers
the repair attempt until it can check the other space metadata at least
once.

It is therefore essential that the inobt scrubber can correctly
distinguish between corruptions and "unable to cross-reference something
else with this inobt".  The same reasoning applies to "xfs: record inode
buf errors as a xref error in inobt scrubber".

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
2018-03-23 18:05:09 -07:00
..
agheader.c xfs: convert XFS_AGFL_SIZE to a helper function 2018-03-11 20:27:56 -07:00
alloc.c xfs: cross-reference refcount btree during scrub 2018-01-17 21:00:46 -08:00
attr.c xfs: remove xfs_buf parameter from inode scrub methods 2018-03-23 18:05:08 -07:00
bmap.c xfs: remove xfs_buf parameter from inode scrub methods 2018-03-23 18:05:08 -07:00
btree.c xfs: scrub in-core metadata 2018-01-17 21:00:46 -08:00
btree.h xfs: set up scrub cross-referencing helpers 2018-01-17 21:00:44 -08:00
common.c xfs: remove xfs_buf parameter from inode scrub methods 2018-03-23 18:05:08 -07:00
common.h xfs: remove xfs_buf parameter from inode scrub methods 2018-03-23 18:05:08 -07:00
dabtree.c xfs: scrub in-core metadata 2018-01-17 21:00:46 -08:00
dabtree.h xfs: scrub extended attribute leaf space 2017-11-01 15:03:16 -07:00
dir.c xfs: remove xfs_buf parameter from inode scrub methods 2018-03-23 18:05:08 -07:00
ialloc.c xfs: xfs_scrub_iallocbt_xref_rmap_inodes should use xref_set_corrupt 2018-03-23 18:05:09 -07:00
inode.c xfs: move inode extent size hint validation to libxfs 2018-03-23 18:05:08 -07:00
parent.c xfs: flag inode corruption if parent ptr doesn't get us a real inode 2018-03-23 18:05:08 -07:00
quota.c xfs: remove xfs_buf parameter from inode scrub methods 2018-03-23 18:05:08 -07:00
refcount.c xfs: cross-reference refcount btree during scrub 2018-01-17 21:00:46 -08:00
rmap.c xfs: cross-reference refcount btree during scrub 2018-01-17 21:00:46 -08:00
rtbitmap.c xfs: remove xfs_buf parameter from inode scrub methods 2018-03-23 18:05:08 -07:00
scrub.c xfs: don't iunlock unlocked inodes 2018-01-17 21:00:46 -08:00
scrub.h xfs: cross-reference the realtime bitmap 2018-01-17 21:00:46 -08:00
symlink.c xfs: scrub symbolic links 2017-10-26 15:38:26 -07:00
trace.c fs: xfs: remove duplicate includes 2017-12-08 17:51:05 -08:00
trace.h xfs: remove xfs_buf parameter from inode scrub methods 2018-03-23 18:05:08 -07:00
xfs_scrub.h xfs: create an ioctl to scrub AG metadata 2017-10-26 15:38:23 -07:00