linux/fs/xfs/scrub
Darrick J. Wong 73c34b0b85 xfs: attr forks require attr, not attr2
It turns out that I misunderstood the difference between the attr and
attr2 feature bits.  "attr" means that at some point an attr fork was
created somewhere in the filesystem.  "attr2" means that inodes have
variable-sized forks, but says nothing about whether or not there
actually /are/ attr forks in the system.

If we have an attr fork, we only need to check that attr is set.

Fixes: 99d9d8d05d ("xfs: scrub inode block mappings")
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Chandan Babu R <chandanbabu@kernel.org>
2024-08-14 21:19:14 +05:30
..
agb_bitmap.c xfs: move the per-AG datatype bitmaps to separate files 2023-12-15 10:03:30 -08:00
agb_bitmap.h xfs: create agblock bitmap helper to count the number of set regions 2024-02-22 12:43:37 -08:00
agheader_repair.c xfs: convert comma to semicolon 2024-07-29 09:34:18 +05:30
agheader.c xfs: silence sparse warning when checking version number 2024-04-22 12:51:43 +05:30
agino_bitmap.h xfs: repair AGI unlinked inode bucket lists 2024-04-15 14:58:58 -07:00
alloc_repair.c xfs: fix error bailout in xrep_abt_build_new_trees 2024-04-15 14:54:06 -07:00
alloc.c xfs: repair free space btrees 2023-12-15 10:03:32 -08:00
attr_repair.c xfs: exchange-range for repairs is no longer dynamic 2024-04-23 16:55:19 -07:00
attr_repair.h xfs: actually rebuild the parent pointer xattrs 2024-04-23 16:55:15 -07:00
attr.c xfs: add a per-leaf block callback to xchk_xattr_walk 2024-04-23 16:55:15 -07:00
attr.h xfs: repair extended attributes 2024-04-15 14:58:53 -07:00
bitmap.c xfs: fix sparse warnings about unused interval tree functions 2024-04-22 12:51:43 +05:30
bitmap.h xfs: create agblock bitmap helper to count the number of set regions 2024-02-22 12:43:37 -08:00
bmap_repair.c xfs: remove xfs_bmbt_stage_cursor 2024-02-22 12:39:45 -08:00
bmap.c xfs: attr forks require attr, not attr2 2024-08-14 21:19:14 +05:30
btree.c xfs: consolidate btree block verification 2024-02-22 12:40:57 -08:00
btree.h overflow: Add struct_size_t() helper 2023-05-26 13:52:19 -07:00
common.c xfs: move dirent update hooks to xfs_dir2.c 2024-07-02 11:37:00 -07:00
common.h xfs: reduce the rate of cond_resched calls inside scrub 2024-04-23 16:55:17 -07:00
cow_repair.c xfs: convert remaining kmem_free() to kfree() 2024-02-13 18:07:34 +05:30
dab_bitmap.h xfs: create an xattr iteration function for scrub 2024-04-15 14:58:54 -07:00
dabtree.c xfs: scrub should set preen if attr leaf has holes 2024-04-15 14:58:54 -07:00
dabtree.h xfs: flag empty xattr leaf blocks for optimization 2024-04-15 14:58:54 -07:00
dir_repair.c xfs: factor out a xfs_dir_replace_args helper 2024-04-26 11:19:04 +05:30
dir.c xfs: refactor dir format helpers 2024-04-26 11:21:46 +05:30
dirtree_repair.c xfs: fix corruptions in the directory tree 2024-04-23 16:55:17 -07:00
dirtree.c xfs: fix corruptions in the directory tree 2024-04-23 16:55:17 -07:00
dirtree.h xfs: fix corruptions in the directory tree 2024-04-23 16:55:17 -07:00
dqiterate.c xfs: improve dquot iteration for scrub 2023-12-15 10:03:45 -08:00
findparent.c xfs: actually rebuild the parent pointer xattrs 2024-04-23 16:55:15 -07:00
findparent.h xfs: implement live updates for directory repairs 2024-04-23 16:55:13 -07:00
fsb_bitmap.h xfs: reintroduce reaping of file metadata blocks to xrep_reap_extents 2023-12-15 10:03:38 -08:00
fscounters_repair.c xfs: support RT inodes in xfs_mod_delalloc 2024-04-22 18:00:48 +05:30
fscounters.c xfs: support RT inodes in xfs_mod_delalloc 2024-04-22 18:00:48 +05:30
fscounters.h xfs: support RT inodes in xfs_mod_delalloc 2024-04-22 18:00:48 +05:30
health.c xfs: report directory tree corruption in the health information 2024-04-23 16:55:17 -07:00
health.h xfs: refactor the btree cursor allocation logic in xchk_ag_btcur_init 2024-02-22 12:39:48 -08:00
ialloc_repair.c xfs: split xfs_inobt_init_cursor 2024-02-22 12:40:49 -08:00
ialloc.c xfs: remove xfs_btnum_t 2024-02-22 12:40:51 -08:00
ino_bitmap.h xfs: teach online scrub to find directory tree structure problems 2024-04-23 16:55:16 -07:00
inode_repair.c xfs: inode repair should ensure there's an attr fork to store parent pointers 2024-04-23 16:55:16 -07:00
inode.c xfs: ensure unlinked list state is consistent with nlink during scrub 2024-04-15 14:58:54 -07:00
iscan.c xfs: use dontcache for grabbing inodes during scrub 2024-04-23 16:55:18 -07:00
iscan.h xfs: scan the filesystem to repair a directory dotdot entry 2024-04-15 14:58:56 -07:00
listxattr.c xfs: add a per-leaf block callback to xchk_xattr_walk 2024-04-23 16:55:15 -07:00
listxattr.h xfs: add a per-leaf block callback to xchk_xattr_walk 2024-04-23 16:55:15 -07:00
newbt.c xfs: convert "skip_discard" to a proper flags bitset 2024-07-02 11:37:01 -07:00
newbt.h xfs: repair the rmapbt 2024-02-22 12:43:38 -08:00
nlinks_repair.c xfs: drop the scrub file's iolock when transaction allocation fails 2024-04-23 16:55:18 -07:00
nlinks.c xfs: add a per-leaf block callback to xchk_xattr_walk 2024-04-23 16:55:15 -07:00
nlinks.h xfs: move files to orphanage instead of letting nlinks drop to zero 2024-04-15 14:58:57 -07:00
off_bitmap.h xfs: repair problems in CoW forks 2023-12-15 10:03:40 -08:00
orphanage.c xfs: invalidate dentries for a file before moving it to the orphanage 2024-04-23 16:55:19 -07:00
orphanage.h xfs: fix corruptions in the directory tree 2024-04-23 16:55:17 -07:00
parent_repair.c xfs: exchange-range for repairs is no longer dynamic 2024-04-23 16:55:19 -07:00
parent.c xfs: fix a memory leak 2024-07-29 09:25:01 +05:30
quota_repair.c xfs: Remove header files which are included more than once 2024-07-01 09:32:29 +05:30
quota.c xfs: repair quotas 2023-12-15 10:03:45 -08:00
quota.h xfs: repair quotas 2023-12-15 10:03:45 -08:00
quotacheck_repair.c xfs: repair dquots based on live quotacheck results 2024-02-22 12:30:57 -08:00
quotacheck.c xfs: repair dquots based on live quotacheck results 2024-02-22 12:30:57 -08:00
quotacheck.h xfs: repair dquots based on live quotacheck results 2024-02-22 12:30:57 -08:00
rcbag_btree.c xfs: create refcount bag structure for btree repairs 2024-02-22 12:43:41 -08:00
rcbag_btree.h xfs: create refcount bag structure for btree repairs 2024-02-22 12:43:41 -08:00
rcbag.c xfs: create refcount bag structure for btree repairs 2024-02-22 12:43:41 -08:00
rcbag.h xfs: create refcount bag structure for btree repairs 2024-02-22 12:43:41 -08:00
readdir.c xfs: refactor dir format helpers 2024-04-26 11:21:46 +05:30
readdir.h xfs: deferred scrub of dirents 2024-04-23 07:47:02 -07:00
reap.c xfs: convert "skip_discard" to a proper flags bitset 2024-07-02 11:37:01 -07:00
reap.h xfs: add the ability to reap entire inode forks 2024-04-15 14:58:49 -07:00
refcount_repair.c xfs: port refcount repair to the new refcount bag structure 2024-02-22 12:43:42 -08:00
refcount.c xfs: port refcount repair to the new refcount bag structure 2024-02-22 12:43:42 -08:00
repair.c xfs: split xfs_mod_freecounter 2024-04-22 18:00:47 +05:30
repair.h xfs: fix corruptions in the directory tree 2024-04-23 16:55:17 -07:00
rmap_repair.c xfs: Remove unused function is_rt_data_fork 2024-04-22 12:51:43 +05:30
rmap.c xfs: repair the rmapbt 2024-02-22 12:43:38 -08:00
rtbitmap_repair.c xfs: fix error returns from xfs_bmapi_write 2024-04-30 09:45:18 +05:30
rtbitmap.c xfs: remove conditional building of rt geometry validator functions 2024-01-30 14:04:43 +05:30
rtbitmap.h xfs: online repair of realtime bitmaps 2023-12-15 10:03:43 -08:00
rtsummary_repair.c xfs: exchange-range for repairs is no longer dynamic 2024-04-23 16:55:19 -07:00
rtsummary.c xfs: online repair of realtime summaries 2024-04-15 14:58:49 -07:00
rtsummary.h xfs: online repair of realtime summaries 2024-04-15 14:58:49 -07:00
scrub.c xfs: don't open-code u64_to_user_ptr 2024-05-27 15:55:52 +05:30
scrub.h xfs: exchange-range for repairs is no longer dynamic 2024-04-23 16:55:19 -07:00
stats.c xfs: teach online scrub to find directory tree structure problems 2024-04-23 16:55:16 -07:00
stats.h xfs: track usage statistics of online fsck 2023-08-10 07:48:07 -07:00
symlink_repair.c xfs: exchange-range for repairs is no longer dynamic 2024-04-23 16:55:19 -07:00
symlink.c xfs: online repair of symbolic links 2024-04-15 14:58:58 -07:00
tempexch.h xfs: exchange-range for repairs is no longer dynamic 2024-04-23 16:55:19 -07:00
tempfile.c xfs: separate the icreate logic around INIT_XATTRS 2024-07-02 11:36:58 -07:00
tempfile.h xfs: online repair of directories 2024-04-15 14:58:55 -07:00
trace.c xfs: teach online scrub to find directory tree structure problems 2024-04-23 16:55:16 -07:00
trace.h xfs: fix file_path handling in tracepoints 2024-07-29 09:27:23 +05:30
xfarray.c xfs: drop xfarray sortinfo folio on error 2024-05-27 15:55:52 +05:30
xfarray.h xfs: reduce the rate of cond_resched calls inside scrub 2024-04-23 16:55:17 -07:00
xfblob.c xfs: repair extended attributes 2024-04-15 14:58:53 -07:00
xfblob.h xfs: online repair of directories 2024-04-15 14:58:55 -07:00
xfile.c xfs: reduce the rate of cond_resched calls inside scrub 2024-04-23 16:55:17 -07:00
xfile.h xfs: repair extended attributes 2024-04-15 14:58:53 -07:00
xfs_scrub.h xfs: introduce vectored scrub mode 2024-04-23 16:55:18 -07:00