summaryrefslogtreecommitdiffstats
tag namepptrs-online-dir-repair_2023-03-16 (79d0040960cfa9236048d73ff0388ba51da49f6e)
tag date2023-03-16 11:36:42 -0700
tagged byDarrick J. Wong <djwong@kernel.org>
tagged objectcommit 5cd01a78ef...
downloadxfs-linux-pptrs-online-dir-repair_2023-03-16.tar.gz
xfs: online repair of directories
With this patchset, we implement online reconstruction of directories by scanning the entire filesystem looking for parent pointer data. This mostly works, except for the part where we need to resync the diroffset field of the parent pointers to match the new directory structure. Fixing that is left as an open research question, with a few possible solutions: 1. As part of committing the new directory, queue a bunch of parent pointer updates to make those changes. 2. Leave them inconsistent and let the parent pointer repair fix it. 3. Change the ondisk format of parent pointers (and xattrs) so that we can encode the full dirent name in the xattr name. 4. Change the ondisk format of parent pointers to encode a sha256 hash of the dirent name in the xattr name. This will work as long as nobody breaks sha256. Thoughts? Note that the atomic swapext and block reaping code is NOT ported for this PoC, so we do not commit any repairs. Signed-off-by: Darrick J. Wong <djwong@kernel.org> -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQQ2qTKExjcn+O1o2YRKO3ySh0YRpgUCZBNhugAKCRBKO3ySh0YR prKWAPwL2C7Fk/xdS0ve7VNF/0L7wsyu/h2Lz3nZhEl4kZkiHgEAlkiqFfXiZy/b NOALxfr045vk73w13hozsG38OpjcUgg= =sGyt -----END PGP SIGNATURE-----