linux/fs/xfs/scrub
Darrick J. Wong d9a94480f9 xfs: xfs_iget in the directory scrubber needs to use UNTRUSTED
In commit 4b80ac6445, we tried to strengthen the directory scrubber by
using the iget call to detect directory entries that point to
unallocated inodes.  Unfortunately, that commit neglected to pass
XFS_IGET_UNTRUSTED to xfs_iget, so we don't check the inode btree first.
If the inode number points to something that isn't even an inode
cluster, iget will throw corruption errors and return -EFSCORRUPTED,
which means that we fail to mark the directory corrupt.

Fixes: 4b80ac6445 ("xfs: scrub should mark a directory corrupt if any entries cannot be iget'd")
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
2023-04-11 19:00:17 -07:00
..
agheader_repair.c xfs: update copyright years for scrub/ files 2023-04-11 18:59:57 -07:00
agheader.c xfs: teach scrub to check for sole ownership of metadata objects 2023-04-11 19:00:15 -07:00
alloc.c xfs: ensure that all metadata and data blocks are not cow staging extents 2023-04-11 19:00:12 -07:00
attr.c xfs: update copyright years for scrub/ files 2023-04-11 18:59:57 -07:00
attr.h xfs: update copyright years for scrub/ files 2023-04-11 18:59:57 -07:00
bitmap.c xfs: update copyright years for scrub/ files 2023-04-11 18:59:57 -07:00
bitmap.h xfs: update copyright years for scrub/ files 2023-04-11 18:59:57 -07:00
bmap.c xfs: ensure that single-owner file blocks are not owned by others 2023-04-11 19:00:16 -07:00
btree.c xfs: teach scrub to check for sole ownership of metadata objects 2023-04-11 19:00:15 -07:00
btree.h xfs: always scrub record/key order of interior records 2023-04-11 19:00:09 -07:00
common.c xfs: scrub should use ECHRNG to signal that the drain is needed 2023-04-11 19:00:00 -07:00
common.h xfs: scrub should use ECHRNG to signal that the drain is needed 2023-04-11 19:00:00 -07:00
dabtree.c xfs: scrub should use ECHRNG to signal that the drain is needed 2023-04-11 19:00:00 -07:00
dabtree.h xfs: update copyright years for scrub/ files 2023-04-11 18:59:57 -07:00
dir.c xfs: xfs_iget in the directory scrubber needs to use UNTRUSTED 2023-04-11 19:00:17 -07:00
fscounters.c xfs: minimize overhead of drain wakeups by using jump labels 2023-04-11 18:59:59 -07:00
health.c xfs: allow queued AG intents to drain before scrubbing 2023-04-11 18:59:58 -07:00
health.h xfs: update copyright years for scrub/ files 2023-04-11 18:59:57 -07:00
ialloc.c xfs: teach scrub to check for sole ownership of metadata objects 2023-04-11 19:00:15 -07:00
inode.c xfs: teach scrub to check for sole ownership of metadata objects 2023-04-11 19:00:15 -07:00
parent.c xfs: streamline the directory iteration code for scrub 2023-04-11 19:00:17 -07:00
quota.c xfs: minimize overhead of drain wakeups by using jump labels 2023-04-11 18:59:59 -07:00
readdir.c xfs: streamline the directory iteration code for scrub 2023-04-11 19:00:17 -07:00
readdir.h xfs: streamline the directory iteration code for scrub 2023-04-11 19:00:17 -07:00
refcount.c xfs: ensure that all metadata and data blocks are not cow staging extents 2023-04-11 19:00:12 -07:00
repair.c xfs: scrub should use ECHRNG to signal that the drain is needed 2023-04-11 19:00:00 -07:00
repair.h xfs: update copyright years for scrub/ files 2023-04-11 18:59:57 -07:00
rmap.c xfs: teach scrub to check for sole ownership of metadata objects 2023-04-11 19:00:15 -07:00
rtbitmap.c xfs: update copyright years for scrub/ files 2023-04-11 18:59:57 -07:00
scrub.c xfs: scrub should use ECHRNG to signal that the drain is needed 2023-04-11 19:00:00 -07:00
scrub.h xfs: teach scrub to check for sole ownership of metadata objects 2023-04-11 19:00:15 -07:00
symlink.c xfs: update copyright years for scrub/ files 2023-04-11 18:59:57 -07:00
trace.c xfs: update copyright years for scrub/ files 2023-04-11 18:59:57 -07:00
trace.h xfs: scrub should use ECHRNG to signal that the drain is needed 2023-04-11 19:00:00 -07:00
xfs_scrub.h xfs: update copyright years for scrub/ files 2023-04-11 18:59:57 -07:00