summaryrefslogtreecommitdiff
tag namerepair-inode-data_2019-11-22 (0904671cbb8d9718650d5610ac2a18055bd1c151)
tag date2019-11-22 21:35:52 -0800
tagged byDarrick J. Wong <darrick.wong@oracle.com>
tagged objectcommit 218d5fd03d...
xfs: online repair of inode data
For the third part of the twenty-first revision of the online repair patchset, we implement repair of extended attribute data. Patch 1 implements a new data structure for storing arbitrary key/value pairs, which we're going to need to reconstruct extended attribute forks. Patches 2-4 clean up the block unmapping code so that we will be able to perform a mass reset of an inode's fork. This is a key component for salvaging extended attributes, freeing all the attr fork blocks, and reconstructing the extended attribute data. Patch 5 implements extended attribute salvage operations. There is no redundant or secondary xattr metadata, so the best we can do is trawl through the attr leaves looking for intact entities. Patch 6 augments scrub to rebuild extended attributes when any of the attr blocks are fragmented.