From e8e72c93b0810202630271aa64fcbe26e7baa34a Mon Sep 17 00:00:00 2001 From: "Darrick J. Wong" Date: Wed, 30 Sep 2020 10:59:15 -0400 Subject: [PATCH] xfs_repair: don't flag RTINHERIT files when no rt volume Don't flag directories with the RTINHERIT flag set when the filesystem doesn't have a realtime volume configured. The kernel has let us set RTINHERIT without a rt volume for ages, so it's not an invalid state. Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Signed-off-by: Eric Sandeen --- repair/dinode.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/repair/dinode.c b/repair/dinode.c index 36b4ffe3c..f65a61470 100644 --- a/repair/dinode.c +++ b/repair/dinode.c @@ -2395,17 +2395,14 @@ _("bad (negative) size %" PRId64 " on inode %" PRIu64 "\n"), flags &= XFS_DIFLAG_ANY; } - if (flags & (XFS_DIFLAG_REALTIME | XFS_DIFLAG_RTINHERIT)) { - /* need an rt-dev! */ - if (!rt_name) { - if (!uncertain) { - do_warn( + /* need an rt-dev for the realtime flag! */ + if ((flags & XFS_DIFLAG_REALTIME) && !rt_name) { + if (!uncertain) { + do_warn( _("inode %" PRIu64 " has RT flag set but there is no RT device\n"), - lino); - } - flags &= ~(XFS_DIFLAG_REALTIME | - XFS_DIFLAG_RTINHERIT); + lino); } + flags &= ~XFS_DIFLAG_REALTIME; } if (flags & XFS_DIFLAG_NEWRTBM) { /* must be a rt bitmap inode */ -- 2.47.2