Message ID | 159971621697.1311472.12347305476746590593.stgit@magnolia (mailing list archive) |
---|---|
State | Deferred, archived |
Headers | show |
Series | xfs: fix a few realtime bugs | expand |
On Wed, Sep 09, 2020 at 10:36:57PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <darrick.wong@oracle.com> > > While running generic/042 with -drtinherit=1 set in MKFS_OPTIONS, I > observed that the kernel will gladly set the realtime flag on any file > created on the loopback filesystem even though that filesystem doesn't > actually have a realtime device attached. This leads to verifier > failures and doesn't make any sense, so be smarter about this. > > Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Looks good, Reviewed-by: Christoph Hellwig <hch@lst.de>
diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index 4c520cc10191..ab43ccb88ee7 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -733,7 +733,8 @@ xfs_inode_propagate_flags( if (pip->i_d.di_flags & XFS_DIFLAG_PROJINHERIT) di_flags |= XFS_DIFLAG_PROJINHERIT; } else if (S_ISREG(mode)) { - if (pip->i_d.di_flags & XFS_DIFLAG_RTINHERIT) + if ((pip->i_d.di_flags & XFS_DIFLAG_RTINHERIT) && + xfs_sb_version_hasrealtime(&ip->i_mount->m_sb)) di_flags |= XFS_DIFLAG_REALTIME; if (pip->i_d.di_flags & XFS_DIFLAG_EXTSZINHERIT) { di_flags |= XFS_DIFLAG_EXTSIZE;