xfs: repair extended attributes
authorDarrick J. Wong <djwong@kernel.org>
Mon, 15 Apr 2024 21:54:45 +0000 (14:54 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Mon, 15 Apr 2024 21:58:53 +0000 (14:58 -0700)
commite47dcf113ae348678143cc935a1183059c02c9ad
tree537f1ceeda6483a7cf9dbc85e2073d09eb25954d
parent629fdaf5f5b1b7f7107ed4de04e0991a99501ced
xfs: repair extended attributes

If the extended attributes look bad, try to sift through the rubble to
find whatever keys/values we can, stage a new attribute structure in a
temporary file and use the atomic extent swapping mechanism to commit
the results in bulk.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
19 files changed:
fs/xfs/Makefile
fs/xfs/libxfs/xfs_attr.c
fs/xfs/libxfs/xfs_attr.h
fs/xfs/libxfs/xfs_da_format.h
fs/xfs/scrub/attr.c
fs/xfs/scrub/attr.h
fs/xfs/scrub/attr_repair.c [new file with mode: 0644]
fs/xfs/scrub/attr_repair.h [new file with mode: 0644]
fs/xfs/scrub/repair.c
fs/xfs/scrub/repair.h
fs/xfs/scrub/scrub.c
fs/xfs/scrub/trace.h
fs/xfs/scrub/xfarray.c
fs/xfs/scrub/xfarray.h
fs/xfs/scrub/xfblob.c
fs/xfs/scrub/xfblob.h
fs/xfs/scrub/xfile.h
fs/xfs/xfs_buf.c
fs/xfs/xfs_trace.h