From: Ross Zwisler <ross.zwisler@linux.intel.com> To: linux-kernel@vger.kernel.org Cc: Jan Kara <jack@suse.cz>, "Darrick J. Wong" <darrick.wong@oracle.com>, linux-nvdimm@lists.01.org, Dave Chinner <david@fromorbit.com>, stable@vger.kernel.org, Christoph Hellwig <hch@lst.de>, linux-xfs@vger.kernel.org Subject: [PATCH 2/2] xfs: validate bdev support for DAX inode flag Date: Thu, 7 Sep 2017 15:08:32 -0600 [thread overview] Message-ID: <20170907210832.17969-3-ross.zwisler@linux.intel.com> (raw) In-Reply-To: <20170907210832.17969-1-ross.zwisler@linux.intel.com> Currently only the blocksize is checked, but we should really be calling bdev_dax_supported() which also tests to make sure we can get a struct dax_device and that the dax_direct_access() path is working. This is the same check that we do for the "-o dax" mount option in xfs_fs_fill_super(). This does not fix the race issues that caused the XFS DAX inode option to be disabled, so that option will still be disabled. If/when we re-enable it, though, I think we will want this issue to have been fixed. I also do think that we want to fix this in stable kernels. Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com> CC: stable@vger.kernel.org --- fs/xfs/xfs_ioctl.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c index 26faeb9..0433aef 100644 --- a/fs/xfs/xfs_ioctl.c +++ b/fs/xfs/xfs_ioctl.c @@ -1088,6 +1088,7 @@ xfs_ioctl_setattr_dax_invalidate( int *join_flags) { struct inode *inode = VFS_I(ip); + struct super_block *sb = inode->i_sb; int error; *join_flags = 0; @@ -1100,7 +1101,7 @@ xfs_ioctl_setattr_dax_invalidate( if (fa->fsx_xflags & FS_XFLAG_DAX) { if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode))) return -EINVAL; - if (ip->i_mount->m_sb.sb_blocksize != PAGE_SIZE) + if (bdev_dax_supported(sb, sb->s_blocksize) < 0) return -EINVAL; } -- 2.9.5 _______________________________________________ Linux-nvdimm mailing list Linux-nvdimm@lists.01.org https://lists.01.org/mailman/listinfo/linux-nvdimm
WARNING: multiple messages have this Message-ID (diff)
From: Ross Zwisler <ross.zwisler@linux.intel.com> To: linux-kernel@vger.kernel.org Cc: Ross Zwisler <ross.zwisler@linux.intel.com>, "Darrick J. Wong" <darrick.wong@oracle.com>, Christoph Hellwig <hch@lst.de>, Dan Williams <dan.j.williams@intel.com>, Dave Chinner <david@fromorbit.com>, Jan Kara <jack@suse.cz>, linux-nvdimm@lists.01.org, linux-xfs@vger.kernel.org, stable@vger.kernel.org Subject: [PATCH 2/2] xfs: validate bdev support for DAX inode flag Date: Thu, 7 Sep 2017 15:08:32 -0600 [thread overview] Message-ID: <20170907210832.17969-3-ross.zwisler@linux.intel.com> (raw) In-Reply-To: <20170907210832.17969-1-ross.zwisler@linux.intel.com> Currently only the blocksize is checked, but we should really be calling bdev_dax_supported() which also tests to make sure we can get a struct dax_device and that the dax_direct_access() path is working. This is the same check that we do for the "-o dax" mount option in xfs_fs_fill_super(). This does not fix the race issues that caused the XFS DAX inode option to be disabled, so that option will still be disabled. If/when we re-enable it, though, I think we will want this issue to have been fixed. I also do think that we want to fix this in stable kernels. Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com> CC: stable@vger.kernel.org --- fs/xfs/xfs_ioctl.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c index 26faeb9..0433aef 100644 --- a/fs/xfs/xfs_ioctl.c +++ b/fs/xfs/xfs_ioctl.c @@ -1088,6 +1088,7 @@ xfs_ioctl_setattr_dax_invalidate( int *join_flags) { struct inode *inode = VFS_I(ip); + struct super_block *sb = inode->i_sb; int error; *join_flags = 0; @@ -1100,7 +1101,7 @@ xfs_ioctl_setattr_dax_invalidate( if (fa->fsx_xflags & FS_XFLAG_DAX) { if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode))) return -EINVAL; - if (ip->i_mount->m_sb.sb_blocksize != PAGE_SIZE) + if (bdev_dax_supported(sb, sb->s_blocksize) < 0) return -EINVAL; } -- 2.9.5
next prev parent reply other threads:[~2017-09-07 21:06 UTC|newest] Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-09-07 21:08 [PATCH 0/2] xfs: some DAX fixes Ross Zwisler 2017-09-07 21:08 ` Ross Zwisler 2017-09-07 21:08 ` [PATCH 1/2] xfs: always use DAX if mount option is used Ross Zwisler 2017-09-07 21:08 ` Ross Zwisler 2017-09-08 7:20 ` Christoph Hellwig 2017-09-08 7:20 ` Christoph Hellwig 2017-09-08 15:28 ` Ross Zwisler 2017-09-08 15:28 ` Ross Zwisler 2017-09-08 21:21 ` [PATCH] xfs: add regression test for DAX mount option usage Ross Zwisler 2017-09-08 21:21 ` Ross Zwisler 2017-09-11 15:16 ` Ross Zwisler 2017-09-11 15:16 ` Ross Zwisler 2017-09-11 15:37 ` Dan Williams 2017-09-11 15:37 ` Dan Williams 2017-09-11 20:01 ` [fstests PATCH v2] " Ross Zwisler 2017-09-11 20:01 ` Ross Zwisler 2017-09-14 6:57 ` Eryu Guan 2017-09-14 6:57 ` Eryu Guan 2017-09-15 22:42 ` Ross Zwisler 2017-09-15 22:42 ` Ross Zwisler 2017-09-16 22:26 ` Dave Chinner 2017-09-16 22:26 ` Dave Chinner 2017-09-12 6:44 ` [PATCH] " Dave Chinner 2017-09-12 6:44 ` Dave Chinner 2017-09-12 15:38 ` Ross Zwisler 2017-09-12 15:38 ` Ross Zwisler 2017-09-12 23:47 ` Dave Chinner 2017-09-12 23:47 ` Dave Chinner 2017-09-13 14:42 ` Ross Zwisler 2017-09-13 14:42 ` Ross Zwisler 2017-09-13 22:01 ` Dave Chinner 2017-09-13 22:01 ` Dave Chinner 2017-09-13 22:23 ` Dan Williams 2017-09-13 22:23 ` Dan Williams 2017-09-13 23:34 ` Dave Chinner 2017-09-13 23:34 ` Dave Chinner 2017-09-14 0:28 ` Dan Williams 2017-09-14 0:28 ` Dan Williams 2017-09-14 0:40 ` Dave Chinner 2017-09-14 0:40 ` Dave Chinner 2017-09-14 1:24 ` Dan Williams 2017-09-14 1:24 ` Dan Williams 2017-09-14 12:19 ` Jeff Moyer 2017-09-14 12:19 ` Jeff Moyer 2017-09-14 13:16 ` Johannes Thumshirn 2017-09-14 13:16 ` Johannes Thumshirn 2017-09-14 14:10 ` Dan Williams 2017-09-14 14:10 ` Dan Williams 2017-09-15 9:18 ` Johannes Thumshirn 2017-09-15 9:18 ` Johannes Thumshirn 2017-09-15 17:39 ` Dan Williams 2017-09-15 17:39 ` Dan Williams 2017-09-18 7:47 ` Johannes Thumshirn 2017-09-18 7:47 ` Johannes Thumshirn 2017-09-07 21:08 ` Ross Zwisler [this message] 2017-09-07 21:08 ` [PATCH 2/2] xfs: validate bdev support for DAX inode flag Ross Zwisler 2017-09-08 7:21 ` Christoph Hellwig 2017-09-08 7:21 ` Christoph Hellwig
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20170907210832.17969-3-ross.zwisler@linux.intel.com \ --to=ross.zwisler@linux.intel.com \ --cc=darrick.wong@oracle.com \ --cc=david@fromorbit.com \ --cc=hch@lst.de \ --cc=jack@suse.cz \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-nvdimm@lists.01.org \ --cc=linux-xfs@vger.kernel.org \ --cc=stable@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.