Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp1100350ybk; Wed, 13 May 2020 23:54:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwN+ECfdtTvmjM8AOuqHhf5exs6CNJmWEkO4ZCCsrP+tsHoti2QpehZv3eW5aQn8SE8hBj5 X-Received: by 2002:aa7:d653:: with SMTP id v19mr2548315edr.383.1589439241627; Wed, 13 May 2020 23:54:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589439241; cv=none; d=google.com; s=arc-20160816; b=ns6xMNUxb8wa39nqCSVrdtLoKO8V2VT9hFhOxlT2b3/JOlIq9UuKmduheBhSt8bh/S sho19XxCqn+4QmKBNizGe3+vJ14IPg/LIcH1kdyR+Qn5NejtnDlDxWgWjfXkz0/3Cdyx 9pxFOSWZ3D5CYJcfcfGjkWWdj1UgVHrJimMTvnesCZTAKFoF4ZWtc+AKTHqnnrjTMsDg 4Zwgu9seDkEA/3qZ3KlvbRcOEgvN5kCxys2hjBR9ePqbbhbi1CCU0Kb7YDAyN1ysGSCR zpD25R7adh2jLKa1xSjDQS1p5HsED3o/JBiiR/XXiVTgCOCeIH+HGanZpI8ktvKJFopL I/Lw== 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=DRM8gigb8pzaJPcmX1jXPXdrRHV2xShFVax7BAFT8mN7CDrFBH3WRYwq0oABEvJJ+e eQ56lI/+xF/Z0AVz29vvIVp3mxGUPC/V1GhFd6qGk2mRnv70uwCElZduG9dsenI6vmIb BwsDxFVHjd2UmsVeuIEuk8A/Xc/xUhcTExHxRkQLvl69dvsXIxXX/izs0S5jI1+4RzFx FnRQY9o2xJhdIUstf+yh4AI8s4S1CKtHn+Si1QsWn8m8EAiz8rR8+2rVkUOwGo5+/tq4 2/EdYUlvcgJhrfAIRmzrxPBLfRS29XRtIO/cpDy64l5puiHGEY7yGEEl+Xijg1KJGyoZ GdNQ== 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 jz18si1410048ejb.112.2020.05.13.23.53.37; Wed, 13 May 2020 23:54:01 -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 S1725979AbgENGxY (ORCPT + 99 others); Thu, 14 May 2020 02:53:24 -0400 Received: from mga04.intel.com ([192.55.52.120]:24927 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726073AbgENGxX (ORCPT ); Thu, 14 May 2020 02:53:23 -0400 IronPort-SDR: uUYrQ0spcZxQfizYjeBaPbeii2rwZ46kvS6Q9ypb31jEDdUDW2I82RWGKIoo/n0vzRRkh6B3Gj 4Volcyb/+gBw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 May 2020 23:53:22 -0700 IronPort-SDR: RxBuS85HhHzrSVXGaKAobyW/MaPv9BTlsNVoJyS2oCQZyPk9OABQSeQqX4Rr7kv9s3be4gnVMo F8oNoRXT473w== X-IronPort-AV: E=Sophos;i="5.73,390,1583222400"; d="scan'208";a="372145086" Received: from iweiny-desk2.sc.intel.com (HELO localhost) ([10.3.52.147]) by fmsmga001-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 May 2020 23:53:21 -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 V1 4/9] fs/ext4: Change EXT4_MOUNT_DAX to EXT4_MOUNT_DAX_ALWAYS Date: Wed, 13 May 2020 23:53:10 -0700 Message-Id: <20200514065316.2500078-5-ira.weiny@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200514065316.2500078-1-ira.weiny@intel.com> References: <20200514065316.2500078-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