Received: by 2002:a25:ef43:0:0:0:0:0 with SMTP id w3csp499270ybm; Thu, 28 May 2020 08:05:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwaQ6TaRXkbWzqFEMFTv8Ig4Tg4WirRl8/ENopuCNtn6py0FEjwcTisYqHe1CdbOuPcwbWj X-Received: by 2002:a05:6402:1c0e:: with SMTP id ck14mr3745525edb.356.1590678322089; Thu, 28 May 2020 08:05:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590678322; cv=none; d=google.com; s=arc-20160816; b=qWshhKafPrlJaVsjWrfT+oEMyhqET1Mr2Y3XFyA++RcNHt+GwyZ84CXtTkgRh1w9R7 ZZwc2SfB7lmQWFzXSIqSLhj+PoZg4Xc9xq2EACfYa1TWzkKdQ+axJu5vLu6sS4JLHU3u NK+g1KzW67CoWw1NnqcXE8lKcc6C5sXLZfO808of96+m6fN6Fqs0boKq0Hp0+WJwKtk1 5I5QsnJ9vTgOE+mU4LWdvkMsv0Cq+QDt24Jnrdd2wsTs8+VAgtaBJ5Bm0/ySSNEfmOzk JPLZTS7rcAqxXQMiZ+uKGXr6zhcnn/aJVrYRKZQSiXnqjyB1LOebw7Ehpz9IRSfyiwiU Oapw== 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=cy5kxgc1xjmD9OZbzKHsoQ1zwTASqyeFqepj3HH7kAM=; b=roDEOuymPhNyaeWq6bean42tY2CEcnUMJvujAhVKXuLlKxNdf1t12UltQunqf1y9oo DUQT8njgPqGZVNCTNqIouBEkkYSiNsmZ73asKBCxTx3tuSYpWcFet1waXx9Zdb3mh1hn nXgXpEakPfndnMbaWAT+zTHnye3zoJTvj+Zoh2IefEkcloMT5DjriAgPi0TeapgGrEP/ KGVUIig+pWfcOPWEXvOVaDtiq1m3Y4v0rbgJnWwPgKMIx8uykFWoVBXfqqo0vCUF52S3 MHpUzZvyiy0wjQDW7ZwBB6vLCAX84gp4lxC43rgC7tdAl4eAvlfgtMAuOUeHEzixfOmA 1buw== 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 x13si4102789ejb.364.2020.05.28.08.04.57; Thu, 28 May 2020 08:05:22 -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 S2404111AbgE1PBK (ORCPT + 99 others); Thu, 28 May 2020 11:01:10 -0400 Received: from mga18.intel.com ([134.134.136.126]:59623 "EHLO mga18.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2404026AbgE1PAQ (ORCPT ); Thu, 28 May 2020 11:00:16 -0400 IronPort-SDR: PsPHzq/9T6GFfXw02cNnS/zHmoQX4971ds+jtwmuj2NIwmiKtLa8GAKeFKKsxuRPykwRqV9pbD Pm//S/Wmi0MQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2020 08:00:07 -0700 IronPort-SDR: npJfXFrRD17PrTS70Fa2zcsivEckpqTM5i/juRrb+3tm+JBCh7cG1DcUa9o/xtKJ3v6cBFjTYi cNAEUxyT7Yhw== X-IronPort-AV: E=Sophos;i="5.73,445,1583222400"; d="scan'208";a="310947365" Received: from iweiny-desk2.sc.intel.com (HELO localhost) ([10.3.52.147]) by fmsmga003-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2020 08:00:08 -0700 From: ira.weiny@intel.com To: linux-ext4@vger.kernel.org, Andreas Dilger , "Theodore Y. Ts'o" , Jan Kara , Eric Biggers 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 V5 3/9] fs/ext4: Change EXT4_MOUNT_DAX to EXT4_MOUNT_DAX_ALWAYS Date: Thu, 28 May 2020 07:59:57 -0700 Message-Id: <20200528150003.828793-4-ira.weiny@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200528150003.828793-1-ira.weiny@intel.com> References: <20200528150003.828793-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 ad2dbf6e4924..6c65fa2f5e00 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 bf5fcb477f66..7b99c44d0a91 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -1775,7 +1775,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}, @@ -3982,7 +3982,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; @@ -4092,7 +4092,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"); @@ -5412,7 +5412,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; @@ -5433,10 +5433,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