From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id F0C15C47DB3 for ; Mon, 29 Jan 2024 21:07:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BEED66B009F; Mon, 29 Jan 2024 16:06:54 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B4B0B6B00A2; Mon, 29 Jan 2024 16:06:54 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 99E066B009F; Mon, 29 Jan 2024 16:06:54 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 814DE6B009C for ; Mon, 29 Jan 2024 16:06:54 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 641D21A0AE7 for ; Mon, 29 Jan 2024 21:06:54 +0000 (UTC) X-FDA: 81733583148.27.6FF70F5 Received: from smtpout.efficios.com (smtpout.efficios.com [167.114.26.122]) by imf02.hostedemail.com (Postfix) with ESMTP id C4E2780027 for ; Mon, 29 Jan 2024 21:06:52 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=efficios.com header.s=smtpout1 header.b=tKXBPkUC; spf=pass (imf02.hostedemail.com: domain of mathieu.desnoyers@efficios.com designates 167.114.26.122 as permitted sender) smtp.mailfrom=mathieu.desnoyers@efficios.com; dmarc=pass (policy=none) header.from=efficios.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706562412; a=rsa-sha256; cv=none; b=IVYOEMXlscqrEyh1wXShzU6l3C38X6YaKssei5K7jPcOkS0YbYyHGo720Fl03BXF6EBEH5 2TIpzf0vo6P6xjQxnIBo0tLg88747PeACsFvf4PWwytYOHCNXOXBMAoxtAtF49ur5lZK8s rN7k0tTGOqMS2Zf6JbCAQ+sipKq/3Lg= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=efficios.com header.s=smtpout1 header.b=tKXBPkUC; spf=pass (imf02.hostedemail.com: domain of mathieu.desnoyers@efficios.com designates 167.114.26.122 as permitted sender) smtp.mailfrom=mathieu.desnoyers@efficios.com; dmarc=pass (policy=none) header.from=efficios.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706562412; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ccax4+tRpSP7QOIA6T2K6a0Oaxx0rZWM8kMN95JROEw=; b=LrSTFb7SnmsXwSZujJ+tauTEG0ljywZaCN2QnulVvhPrq3MrVzuYy8u6v7QzWJE1+dpshL xFqAhc/s6lVfX+tiXo0NyTxsfmh0X5HyUEL5nxRHHodBighmivQZTUrsiYodDhs4j5/euE qdzYhbO3+rUkdARxNwtJZR37kjzZPxk= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=efficios.com; s=smtpout1; t=1706562410; bh=PA2bNaQGUroOCG4PbvCJuxBIvden1XyXhOeNSYG6Pc8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tKXBPkUCiGqFx3UJT68UfJtfsZvo9lzQSlEslbntl3bHG2N68r4Lg/D78jIgJDYa5 mKyvpwpcXLdU721AkT9t5A65cL9pS2PxkKh8Fqsl5nrw7+xrZmhxODO2+ZETuH9BbJ fDx6jE3SERSeIc4yM77HcMOgHXxE+lcWi4Ya/iAB8zY2JS8yCgdYb0NWKbr3VG+rXO 5EXvs71nWGiOpNbObd5zHkTG22F3cC3Un8ScMy7nRmxFtw6ivamNeQeeFdbFBuwGQy D9mHV02DMJsL15eKEnMFvo3u8CAMg9Tjc8pioep5x28rnNCaNJ/z68wTPZKQA2v0SR mi8tFk2/icD4g== Received: from thinkos.internal.efficios.com (192-222-143-198.qc.cable.ebox.net [192.222.143.198]) by smtpout.efficios.com (Postfix) with ESMTPSA id 4TP17t4mGTzVXX; Mon, 29 Jan 2024 16:06:50 -0500 (EST) From: Mathieu Desnoyers To: Dan Williams , Vishal Verma , Dave Jiang Cc: linux-kernel@vger.kernel.org, Mathieu Desnoyers , "Theodore Ts'o" , Andreas Dilger , linux-ext4@vger.kernel.org, Andrew Morton , Linus Torvalds , linux-mm@kvack.org, linux-arch@vger.kernel.org, Matthew Wilcox , nvdimm@lists.linux.dev, linux-cxl@vger.kernel.org Subject: [RFC PATCH 5/7] ext4: Use dax_is_supported() Date: Mon, 29 Jan 2024 16:06:29 -0500 Message-Id: <20240129210631.193493-6-mathieu.desnoyers@efficios.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240129210631.193493-1-mathieu.desnoyers@efficios.com> References: <20240129210631.193493-1-mathieu.desnoyers@efficios.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: C4E2780027 X-Stat-Signature: ri7zu3w84bzyacgo6hqapndhd5c99jtp X-Rspam-User: X-HE-Tag: 1706562412-180856 X-HE-Meta: U2FsdGVkX1//N0bRKGa2JqYS6EoztUYpchj7ZszOatkl62lvmlvD5oQFPVueKFEQaWFhYm0sjHDTJTykzztuW+NqfMnSxzxSFVDvRiOyK+vL17gkd/2x4QkgpPiCqVdVZfh3mOaw/3c922NdMBsNBbbI/l+hPFLsoxNy5+7vyZYL9/clMkaMqSxgruldwkiXwq0+dFktiumag1VrqDPqvx+fZL6LcafC2iOZqHVRpWBZpwEVei2VLLVpI+Sod7oc4MCevAUvQthke8L7QuNutTnvXCOO/7VJYZdxsgWcpEyILpMNdOonhYRGtwnCn2B5CV07hARyP7Moe604GpPnK0b83fjPLhUWOEnKLn5ZcFqp/GImV0TGqGyiQD/8f3/379JpypRBt/uVZY4AlGVibPPCc8Kkm0dIErxotEc0pBMSmSBj3d5bL4lVz6noF2uX/od7uZ7xYctTUlqInnp9yJhg8y2jlh2LkTEMiBOObdo7pjM31HFperu9r4CN93LMHAF/DBtOSzhLh8K/4kgqM/g0hQYvv3P2KYf4JTUmIDtQ+JN/q+rELu27PaadNoAun3yX7B9CKa0VRacEp4BKjyLrqLyhVDx0KX98Ln7REAdxIQ5rTl0SNVZoVRF8KYT25MWWAVONB/Ho+E7beuHN2mlvBvxj4WBkFb32UdPxpPEdRWEvqBSxUNHbfFNCt7YYfH4nWLjQUf87UYlCIdkUTxvfdHXwsJwZqes/vEAiKN8lnKZngCS/UJW/fyrQkvGiQs5RnlFmaLuikaliR0ZvT/vrkJeDM55pXG64vdTQ0/bLtM6hVsbuzL5PMpTmehJMT3S521J3+4yAcd5tl60y4CoJO9mKbXopBMfx0Abx4Q8/o3uThfilbCPOdbjIoC4B/4hlxhFupIzeReyd2D9uSNnHk1dUn8TJeKAibH9qaIAIr+GHUCi7TpGQ9ifeGYvN5TihmdKb0pUCplTzacA s5wvgCM1 6exnftLpOVC3pVRu9cHpRY56w32Z/24ZjIA9qsyFwxSVNxIK97wbcp1U1Sl41STzuQAPDZXDnz9nIF9E9dT4kULQu3+v1oLzcFFBFSJRhxYuFShBobLz+8FJIGBaTe17qyrXlT2mE2pJXQ/JJAtCIWbnVFEhHZ7hGg83Fyas6dl0hOmPL9GIQzWM7bLm88L+6KXyjKajofhlQ8nRUnV35ESwE33nfgZalUCjiJmZAaAZ8I9i8xhaC86Vzuj19fu3a5N1mxkrRKd28SuQmDDHi92FyIIJJUWwtd079QfS2rNszJCQwALzl0oZlPQtE4eJoRL0mB2higMQATNqv+kufiac4wXmfMeySvxc8YfKBVSvUjQhZyrGkhF5eNOiDakIcmPwL7RdvFetv3wTcsQKmEyZ6JFnK8JThWvulsWK+VsKsIY4pGays9M7nKJNSflfjEWZ/NRjo1C5c6hqGCzHqQuAgxqpVj36YbZgMMK57aRd6cEr99y7+xA1sQrtaF27Fcv5sd0lPrM1Ts/temrdlg18zofqbXnlL9TugBOV51d52t0nnQVK68Wn4cGUxs+XSqRdOwW6olf98p753y7Dm1wlsRmxYv7PboGDE+KlyE9YIT+c= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Use dax_is_supported() to validate whether the architecture has virtually aliased caches at mount time. This is relevant for architectures which require a dynamic check to validate whether they have virtually aliased data caches (ARCH_HAS_CACHE_ALIASING_DYNAMIC=y). Fixes: d92576f1167c ("dax: does not work correctly with virtual aliasing caches") Signed-off-by: Mathieu Desnoyers Cc: "Theodore Ts'o" Cc: Andreas Dilger Cc: linux-ext4@vger.kernel.org Cc: Andrew Morton Cc: Linus Torvalds Cc: linux-mm@kvack.org Cc: linux-arch@vger.kernel.org Cc: Dan Williams Cc: Vishal Verma Cc: Dave Jiang Cc: Matthew Wilcox Cc: nvdimm@lists.linux.dev Cc: linux-cxl@vger.kernel.org --- fs/ext4/super.c | 52 ++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/fs/ext4/super.c b/fs/ext4/super.c index c5fcf377ab1f..9e0606289239 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -2359,34 +2359,32 @@ static int ext4_parse_param(struct fs_context *fc, struct fs_parameter *param) return ext4_parse_test_dummy_encryption(param, ctx); case Opt_dax: case Opt_dax_type: -#ifdef CONFIG_FS_DAX - { - int type = (token == Opt_dax) ? - Opt_dax : result.uint_32; - - switch (type) { - case Opt_dax: - case Opt_dax_always: - ctx_set_mount_opt(ctx, EXT4_MOUNT_DAX_ALWAYS); - ctx_clear_mount_opt2(ctx, EXT4_MOUNT2_DAX_NEVER); - break; - case Opt_dax_never: - ctx_set_mount_opt2(ctx, EXT4_MOUNT2_DAX_NEVER); - ctx_clear_mount_opt(ctx, EXT4_MOUNT_DAX_ALWAYS); - break; - case Opt_dax_inode: - ctx_clear_mount_opt(ctx, EXT4_MOUNT_DAX_ALWAYS); - ctx_clear_mount_opt2(ctx, EXT4_MOUNT2_DAX_NEVER); - /* Strictly for printing options */ - ctx_set_mount_opt2(ctx, EXT4_MOUNT2_DAX_INODE); - break; + if (dax_is_supported()) { + int type = (token == Opt_dax) ? + Opt_dax : result.uint_32; + + switch (type) { + case Opt_dax: + case Opt_dax_always: + ctx_set_mount_opt(ctx, EXT4_MOUNT_DAX_ALWAYS); + ctx_clear_mount_opt2(ctx, EXT4_MOUNT2_DAX_NEVER); + break; + case Opt_dax_never: + ctx_set_mount_opt2(ctx, EXT4_MOUNT2_DAX_NEVER); + ctx_clear_mount_opt(ctx, EXT4_MOUNT_DAX_ALWAYS); + break; + case Opt_dax_inode: + ctx_clear_mount_opt(ctx, EXT4_MOUNT_DAX_ALWAYS); + ctx_clear_mount_opt2(ctx, EXT4_MOUNT2_DAX_NEVER); + /* Strictly for printing options */ + ctx_set_mount_opt2(ctx, EXT4_MOUNT2_DAX_INODE); + break; + } + return 0; + } else { + ext4_msg(NULL, KERN_INFO, "dax option not supported"); + return -EINVAL; } - return 0; - } -#else - ext4_msg(NULL, KERN_INFO, "dax option not supported"); - return -EINVAL; -#endif case Opt_data_err: if (result.uint_32 == Opt_data_err_abort) ctx_set_mount_opt(ctx, m->mount_opt); -- 2.39.2