From: Darrick J. Wong Date: Mon, 24 Feb 2025 18:22:06 +0000 (-0800) Subject: xfs_repair: allow realtime files to have the reflink flag set X-Git-Tag: v6.14.0~45 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=593709052fb533e833f6f51d860618680695851f;p=thirdparty%2Fxfsprogs-dev.git 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" Reviewed-by: Christoph Hellwig --- diff --git a/repair/dinode.c b/repair/dinode.c index f49c735d..5a1c8e8c 100644 --- a/repair/dinode.c +++ b/repair/dinode.c @@ -3356,7 +3356,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"), @@ -3388,7 +3389,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"),