Hi all, The patches in this set adds the ability to repair the target buffer of a symbolic link, using the same salvage, rebuild, and swap strategy used everywhere else. If you're going to start using this code, I strongly recommend pulling from my git trees, which are linked below. This has been running on the djcloud for months with no problems. Enjoy! Comments and questions are, as always, welcome. --D kernel git tree: https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=repair-symlink xfsprogs git tree: https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=repair-symlink --- Commits in this patchset: * xfs: expose xfs_bmap_local_to_extents for online repair * xfs: pass the owner to xfs_symlink_write_target * xfs: online repair of symbolic links --- fs/xfs/Makefile | 1 fs/xfs/libxfs/xfs_bmap.c | 11 - fs/xfs/libxfs/xfs_bmap.h | 6 fs/xfs/libxfs/xfs_symlink_remote.c | 7 fs/xfs/libxfs/xfs_symlink_remote.h | 7 fs/xfs/scrub/repair.h | 8 + fs/xfs/scrub/scrub.c | 2 fs/xfs/scrub/symlink.c | 13 + fs/xfs/scrub/symlink_repair.c | 506 ++++++++++++++++++++++++++++++++++++ fs/xfs/scrub/tempfile.c | 13 + fs/xfs/scrub/trace.h | 46 +++ fs/xfs/xfs_symlink.c | 4 12 files changed, 609 insertions(+), 15 deletions(-) create mode 100644 fs/xfs/scrub/symlink_repair.c