The DAX flag should only be set for files and directories.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
flags2 &= XFS_DIFLAG2_ANY;
}
+ if (flags2 & XFS_DIFLAG2_DAX) {
+ /* must be a file or dir */
+ if (di_mode && !(S_ISREG(di_mode) || S_ISDIR(di_mode))) {
+ if (!uncertain) {
+ do_warn(
+ _("DAX flag set on special inode %" PRIu64 "\n"),
+ lino);
+ }
+ flags2 &= ~XFS_DIFLAG2_DAX;
+ }
+ }
+
if ((flags2 & XFS_DIFLAG2_REFLINK) &&
!xfs_sb_version_hasreflink(&mp->m_sb)) {
if (!uncertain) {