]> git-server-git.apps.pok.os.sepia.ceph.com Git - xfsprogs-dev.git/commitdiff
libxfs: don't propagate RTINHERIT -> REALTIME when there is no rtdev
authorDarrick J. Wong <darrick.wong@oracle.com>
Sun, 13 Sep 2020 16:46:01 +0000 (09:46 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Fri, 18 Sep 2020 02:03:33 +0000 (19:03 -0700)
When creating a file inside a directory that has RTINHERIT set, only
propagate the REALTIME flag to the file if the filesystem actually has a
realtime volume configured.  Otherwise, we end up writing inodes that
trip the verifiers.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
libxfs/util.c

index 78519872e8e8b8d3d14cbdedf6f056fb03309b17..f1b4759728eca908ed9df835f07ee50986737fb8 100644 (file)
@@ -224,9 +224,9 @@ xfs_inode_propagate_flags(
                        ip->i_d.di_extsize = pip->i_d.di_extsize;
                }
        } else {
-               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;
                        ip->i_d.di_extsize = pip->i_d.di_extsize;