|
@@ -343,6 +343,16 @@ xfs_iformat(
|
|
|
return XFS_ERROR(EFSCORRUPTED);
|
|
|
}
|
|
|
|
|
|
+ if (unlikely((ip->i_d.di_flags & XFS_DIFLAG_REALTIME) &&
|
|
|
+ !ip->i_mount->m_rtdev_targp)) {
|
|
|
+ xfs_fs_repair_cmn_err(CE_WARN, ip->i_mount,
|
|
|
+ "corrupt dinode %Lu, has realtime flag set.",
|
|
|
+ ip->i_ino);
|
|
|
+ XFS_CORRUPTION_ERROR("xfs_iformat(realtime)",
|
|
|
+ XFS_ERRLEVEL_LOW, ip->i_mount, dip);
|
|
|
+ return XFS_ERROR(EFSCORRUPTED);
|
|
|
+ }
|
|
|
+
|
|
|
switch (ip->i_d.di_mode & S_IFMT) {
|
|
|
case S_IFIFO:
|
|
|
case S_IFCHR:
|