summaryrefslogtreecommitdiff
path: root/fs/xfs/scrub/symlink_repair.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/scrub/symlink_repair.c')
-rw-r--r--fs/xfs/scrub/symlink_repair.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/xfs/scrub/symlink_repair.c b/fs/xfs/scrub/symlink_repair.c
index c8b5a5b878ac..d015a86ef460 100644
--- a/fs/xfs/scrub/symlink_repair.c
+++ b/fs/xfs/scrub/symlink_repair.c
@@ -490,6 +490,9 @@ xrep_symlink(
/* The rmapbt is required to reap the old data fork. */
if (!xfs_has_rmapbt(sc->mp))
return -EOPNOTSUPP;
+ /* We require atomic file exchange range to rebuild anything. */
+ if (!xfs_has_exchange_range(sc->mp))
+ return -EOPNOTSUPP;
ASSERT(sc->ilock_flags & XFS_ILOCK_EXCL);