summaryrefslogtreecommitdiff
tag namerepair-inode-data_2020-03-03 (730aae1d409a15d327198ed1433c276dd790e4aa)
tag date2020-03-03 18:48:16 -0800
tagged byDarrick J. Wong <darrick.wong@oracle.com>
tagged objectcommit faa8f3b259...
xfs: online repair of inode data
For the third part of the twenty-second 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. Patch 7 tries to salvage directories.