From 23e80ff6dfea50e0b79cdee9556434298a4118a7 Mon Sep 17 00:00:00 2001 From: "Darrick J. Wong" Date: Wed, 3 Jul 2024 14:22:35 -0700 Subject: [PATCH] xfs_repair: allow realtime files to have the reflink flag set Now that we allow reflink on the realtime volume, allow that combination of inode flags if the feature's enabled. Note that we now allow inodes to have rtinherit even if there's no realtime volume, since the kernel has never restricted that. Signed-off-by: Darrick J. Wong --- repair/dinode.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/repair/dinode.c b/repair/dinode.c index 32c1da7d2..b6ff253cc 100644 --- a/repair/dinode.c +++ b/repair/dinode.c @@ -3243,7 +3243,8 @@ _("bad (negative) size %" PRId64 " on inode %" PRIu64 "\n"), } if ((flags2 & XFS_DIFLAG2_REFLINK) && - (flags & (XFS_DIFLAG_REALTIME | XFS_DIFLAG_RTINHERIT))) { + !xfs_has_rtreflink(mp) && + (flags & XFS_DIFLAG_REALTIME)) { if (!uncertain) { do_warn( _("Cannot have a reflinked realtime inode %" PRIu64 "\n"), @@ -3275,7 +3276,8 @@ _("bad (negative) size %" PRId64 " on inode %" PRIu64 "\n"), } if ((flags2 & XFS_DIFLAG2_COWEXTSIZE) && - (flags & (XFS_DIFLAG_REALTIME | XFS_DIFLAG_RTINHERIT))) { + !xfs_has_rtreflink(mp) && + (flags & XFS_DIFLAG_REALTIME)) { if (!uncertain) { do_warn( _("Cannot have CoW extent size hint on a realtime inode %" PRIu64 "\n"), -- 2.50.1