On 2/15/16 6:39 PM, Dave Chinner wrote: > On Mon, Feb 15, 2016 at 06:12:04PM -0600, Eric Sandeen wrote: ... >> So which is it, at least PAGE_SIZE or == PAGE_SIZE? > > Linux does not support filesystems where the block size is larger > than the page size, so the supported set of "block size at least as > large as PAGE_SIZE" is only block size == PAGE_SIZE. Um, ok. Comment is still confusing. ;) >>> /* If the DAX state is not changing, we have nothing to do here. */ >>> if ((fa->fsx_xflags & FS_XFLAG_DAX) && IS_DAX(inode)) >>> diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c >>> index 9c984a0..fb7dc61 100644 >>> --- a/fs/xfs/xfs_iops.c >>> +++ b/fs/xfs/xfs_iops.c >>> @@ -1186,6 +1186,7 @@ xfs_diflags_to_iflags( >>> if (flags & XFS_DIFLAG_NOATIME) >>> inode->i_flags |= S_NOATIME; >>> if (S_ISREG(inode->i_mode) && >>> + ip->i_mount->m_sb.sb_blocksize == PAGE_SIZE && >>> (ip->i_mount->m_flags & XFS_MOUNT_DAX || >>> ip->i_d.di_flags2 & XFS_DIFLAG2_DAX)) >>> inode->i_flags |= S_DAX; >> >> Is it possible to get mounted with XFS_MOUNT_DAX if blocksize != PAGE_SIZE? > > No, It's checked at mount time. > >> If so, should it be? This seems like a strange place to catch this mismatch. > > It's not for catching a bad mount option (which will go away, > anyway). it's for catching an "in-pmem" inode flag that can't be > applied because, e.g, the kernel was rebuilt with a different base > page size and now the extents won't align correctly for DAX to work. Oh, with the di_flags2 already set on disk, and now encountering a new page size. Right, ok. -Eric _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs