Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp214677ybk; Thu, 14 May 2020 21:43:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwO0j6YX9D3ZiiETMrAkyjz5+aykqSKdW/w2xPkACz/xnJlIA+OPNf49U8GL/kZJfrFFlV5 X-Received: by 2002:aa7:d84e:: with SMTP id f14mr1144592eds.195.1589517791753; Thu, 14 May 2020 21:43:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589517791; cv=none; d=google.com; s=arc-20160816; b=Mz0BoktRtiGVGmzB63KUf+ZxfgNTR3UW+RqwN7FsKP7wQ7qzakUmEsPWUMpJYhXSaG t5tXtw42VJ/TdX2CkvmrluG410Cl6vHsZu9eYM+i1SIDUoLDQRhb9IPl40o8rrZZofIv vNfwb/uLlIG0LLKbB2Wm6bznqwd4eXdo1ePrzf3wF//ZtWTyTePmbo3E0ahvKLedlUCn 8/BtaeJDYQD196cevg07uo8QYPMpks4t3t792Vd/SUH0Jn1dVK51IrLgjvDkbH6ZQJex wbTeUXgOpJWmQ/0w6ONWm2eBTt6AJI7yNhkxKEUq8FPHJ7NSjximRYijwci77IYJjesd uSLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :ironport-sdr:ironport-sdr; bh=yaY8jTZKTD4uNShcNStMtKOPhEE4fSVUpK4J2LAzSrk=; b=J2ZJmKyrWW3tNQOgR4JRk8Nw7Leg3M/+Q2aPCPISq0IvYU3RfyIVTneKhHLxziSVyC LyGR25yGBtZPUZa9OChDH1gssBGPcrPn5LT/QbrH1vFOwgCwk4hXfPVnkkOUAPBq7UwB jkCpi7ck9GmVCkdKdL9fY/7Xl+IXanuKjdSupFKr3nrDfb1Ix/L2lW4t0vABHl12KeaS RaQwhSMhW1phVjsFth1egSWPYWFTrOnDZJZXanrJf1wF7cRLvbrNdWGFc0ddbXkYDPPx bm2QwNfUggyE01ZiWSt3oA1Tc3uI0S7iFnm9CycYstUorhm0xmRu2mU3AnfO+aW31+s1 t6mQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a20si250474edr.516.2020.05.14.21.42.48; Thu, 14 May 2020 21:43:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726179AbgEOElw (ORCPT + 99 others); Fri, 15 May 2020 00:41:52 -0400 Received: from mga12.intel.com ([192.55.52.136]:45791 "EHLO mga12.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726293AbgEOEl3 (ORCPT ); Fri, 15 May 2020 00:41:29 -0400 IronPort-SDR: WkdJoCB9gC8uUHFfLwsmfkxBqXkzsGOTO0ZFEFwhE3QMLaECJhcxah5lEIfTMso003c6kxU29q EScy+BUToDEw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 May 2020 21:41:29 -0700 IronPort-SDR: yAqEnzZcYHaRdClItBd1bglLBa9/OhkauWJK9NPXXXDCP4f5xMwqWZDD5aTpPsNx8a5fmK9tGa bmlj5Y4RwLeQ== X-IronPort-AV: E=Sophos;i="5.73,394,1583222400"; d="scan'208";a="410341951" Received: from iweiny-desk2.sc.intel.com (HELO localhost) ([10.3.52.147]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 May 2020 21:41:28 -0700 From: ira.weiny@intel.com To: linux-ext4@vger.kernel.org, Andreas Dilger , "Theodore Y. Ts'o" , Jan Kara Cc: Ira Weiny , Al Viro , Dan Williams , Dave Chinner , Christoph Hellwig , Jeff Moyer , "Darrick J. Wong" , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 4/9] fs/ext4: Change EXT4_MOUNT_DAX to EXT4_MOUNT_DAX_ALWAYS Date: Thu, 14 May 2020 21:41:16 -0700 Message-Id: <20200515044121.2987940-5-ira.weiny@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200515044121.2987940-1-ira.weiny@intel.com> References: <20200515044121.2987940-1-ira.weiny@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org From: Ira Weiny In prep for the new tri-state mount option which then introduces EXT4_MOUNT_DAX_NEVER. Reviewed-by: Jan Kara Signed-off-by: Ira Weiny --- Changes: New patch --- fs/ext4/ext4.h | 4 ++-- fs/ext4/inode.c | 2 +- fs/ext4/super.c | 12 ++++++------ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 91eb4381cae5..1a3daf2d18ef 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -1123,9 +1123,9 @@ struct ext4_inode_info { #define EXT4_MOUNT_MINIX_DF 0x00080 /* Mimics the Minix statfs */ #define EXT4_MOUNT_NOLOAD 0x00100 /* Don't use existing journal*/ #ifdef CONFIG_FS_DAX -#define EXT4_MOUNT_DAX 0x00200 /* Direct Access */ +#define EXT4_MOUNT_DAX_ALWAYS 0x00200 /* Direct Access */ #else -#define EXT4_MOUNT_DAX 0 +#define EXT4_MOUNT_DAX_ALWAYS 0 #endif #define EXT4_MOUNT_DATA_FLAGS 0x00C00 /* Mode for data writes: */ #define EXT4_MOUNT_JOURNAL_DATA 0x00400 /* Write data to journal */ diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 2a4aae6acdcb..a10ff12194db 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -4400,7 +4400,7 @@ int ext4_get_inode_loc(struct inode *inode, struct ext4_iloc *iloc) static bool ext4_should_use_dax(struct inode *inode) { - if (!test_opt(inode->i_sb, DAX)) + if (!test_opt(inode->i_sb, DAX_ALWAYS)) return false; if (!S_ISREG(inode->i_mode)) return false; diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 9873ab27e3fa..d0434b513919 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -1767,7 +1767,7 @@ static const struct mount_opts { {Opt_min_batch_time, 0, MOPT_GTE0}, {Opt_inode_readahead_blks, 0, MOPT_GTE0}, {Opt_init_itable, 0, MOPT_GTE0}, - {Opt_dax, EXT4_MOUNT_DAX, MOPT_SET}, + {Opt_dax, EXT4_MOUNT_DAX_ALWAYS, MOPT_SET}, {Opt_stripe, 0, MOPT_GTE0}, {Opt_resuid, 0, MOPT_GTE0}, {Opt_resgid, 0, MOPT_GTE0}, @@ -3974,7 +3974,7 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent) "both data=journal and dioread_nolock"); goto failed_mount; } - if (test_opt(sb, DAX)) { + if (test_opt(sb, DAX_ALWAYS)) { ext4_msg(sb, KERN_ERR, "can't mount with " "both data=journal and dax"); goto failed_mount; @@ -4084,7 +4084,7 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent) goto failed_mount; } - if (sbi->s_mount_opt & EXT4_MOUNT_DAX) { + if (sbi->s_mount_opt & EXT4_MOUNT_DAX_ALWAYS) { if (ext4_has_feature_inline_data(sb)) { ext4_msg(sb, KERN_ERR, "Cannot use DAX on a filesystem" " that may contain inline data"); @@ -5404,7 +5404,7 @@ static int ext4_remount(struct super_block *sb, int *flags, char *data) err = -EINVAL; goto restore_opts; } - if (test_opt(sb, DAX)) { + if (test_opt(sb, DAX_ALWAYS)) { ext4_msg(sb, KERN_ERR, "can't mount with " "both data=journal and dax"); err = -EINVAL; @@ -5425,10 +5425,10 @@ static int ext4_remount(struct super_block *sb, int *flags, char *data) goto restore_opts; } - if ((sbi->s_mount_opt ^ old_opts.s_mount_opt) & EXT4_MOUNT_DAX) { + if ((sbi->s_mount_opt ^ old_opts.s_mount_opt) & EXT4_MOUNT_DAX_ALWAYS) { ext4_msg(sb, KERN_WARNING, "warning: refusing change of " "dax flag with busy inodes while remounting"); - sbi->s_mount_opt ^= EXT4_MOUNT_DAX; + sbi->s_mount_opt ^= EXT4_MOUNT_DAX_ALWAYS; } if (sbi->s_mount_flags & EXT4_MF_FS_ABORTED) -- 2.25.1