From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Williams Subject: [PATCH] ext2, ext4: warn when mounting with dax enabled Date: Tue, 29 Sep 2015 15:48:11 -0400 Message-ID: <20150929194806.5276.863.stgit@dwillia2-desk3.jf.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Cc: Theodore Ts'o , linux-nvdimm@lists.01.org, Andreas Dilger , Jan Kara , linux-fsdevel@vger.kernel.org, Matthew Wilcox , linux-ext4@vger.kernel.org, "Kirill A. Shutemov" To: ross.zwisler@linux.intel.com, david@fromorbit.com Return-path: Received: from mga03.intel.com ([134.134.136.65]:58637 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751498AbbI2Txy (ORCPT ); Tue, 29 Sep 2015 15:53:54 -0400 Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Similar to XFS warn when mounting DAX while it is still considered under development. Also, aspects of the DAX implementation, for example synchronization against multiple faults and faults causing block allocation, depend on the correct implementation in the filesystem. The maturity of a given DAX implementation is filesystem specific. Cc: Jan Kara Cc: "Theodore Ts'o" Cc: Andreas Dilger Cc: Matthew Wilcox Cc: linux-ext4@vger.kernel.org Cc: Kirill A. Shutemov Reported-by: Dave Chinner Signed-off-by: Dan Williams --- Given the pending investigations [1], and rather than marking FS_DAX broken, warn about DAX usage until we've landed fixes for the issues that Dave has identified. [1]: https://lists.01.org/pipermail/linux-nvdimm/2015-September/002266.html fs/ext2/super.c | 2 ++ fs/ext4/super.c | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/fs/ext2/super.c b/fs/ext2/super.c index 900e19cf9ef6..2597b0663bf2 100644 --- a/fs/ext2/super.c +++ b/fs/ext2/super.c @@ -566,6 +566,8 @@ static int parse_options(char *options, struct super_block *sb) /* Fall through */ case Opt_dax: #ifdef CONFIG_FS_DAX + ext2_msg(sb, KERN_WARNING, + "DAX enabled. Warning: EXPERIMENTAL, use at your own risk"); set_opt(sbi->s_mount_opt, DAX); #else ext2_msg(sb, KERN_INFO, "dax option not supported"); diff --git a/fs/ext4/super.c b/fs/ext4/super.c index a63c7b0a10cf..4db6eb0b6979 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -1656,8 +1656,12 @@ static int handle_mount_opt(struct super_block *sb, char *opt, int token, } sbi->s_jquota_fmt = m->mount_opt; #endif -#ifndef CONFIG_FS_DAX } else if (token == Opt_dax) { +#ifdef CONFIG_FS_DAX + ext4_msg(sb, KERN_WARNING, + "DAX enabled. Warning: EXPERIMENTAL, use at your own risk"); + sbi->s_mount_opt |= m->mount_opt; +#else ext4_msg(sb, KERN_INFO, "dax option not supported"); return -1; #endif