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 34A1CC4828F for ; Thu, 8 Feb 2024 18:49:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E38EA6B0083; Thu, 8 Feb 2024 13:49:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D9B5A6B0085; Thu, 8 Feb 2024 13:49:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B754C6B0088; Thu, 8 Feb 2024 13:49:26 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id A38AA6B0083 for ; Thu, 8 Feb 2024 13:49:26 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 8224580F39 for ; Thu, 8 Feb 2024 18:49:26 +0000 (UTC) X-FDA: 81769524732.20.DEE81A3 Received: from smtpout.efficios.com (smtpout.efficios.com [167.114.26.122]) by imf22.hostedemail.com (Postfix) with ESMTP id C7E87C0019 for ; Thu, 8 Feb 2024 18:49:24 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=efficios.com header.s=smtpout1 header.b=UblpDhvf; dmarc=pass (policy=none) header.from=efficios.com; spf=pass (imf22.hostedemail.com: domain of mathieu.desnoyers@efficios.com designates 167.114.26.122 as permitted sender) smtp.mailfrom=mathieu.desnoyers@efficios.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1707418164; 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=xK83i6t7USeocITc70y4DYr6De00Kwc5YNFwgYpfZGM=; b=7kkHiRF5w+zz+DIeIZQ79sKBDsDnOvnlVyCa8aYzoEvOgT1AcYkWWVzJUD7MjKmkGL3H+2 r7fkH1coIWvfZoFxSdPNzs9ZhyHmxQLj+qBEx36F78c9ir+p0BKRcSlta3MPSjeVc+FSBr EHRmuY1yblKkZNFCktwz9pRF8L5XOh8= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=efficios.com header.s=smtpout1 header.b=UblpDhvf; dmarc=pass (policy=none) header.from=efficios.com; spf=pass (imf22.hostedemail.com: domain of mathieu.desnoyers@efficios.com designates 167.114.26.122 as permitted sender) smtp.mailfrom=mathieu.desnoyers@efficios.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1707418164; a=rsa-sha256; cv=none; b=p1PXQC5U0lOXsPXQ8/idhqPgxNJ3/CeJVzIjxDjoTGR/bL9ES1bJ/PsVtl6EJWDDgwpS5V EaPfhs+vZQBF0uDZFvVAsLdZ/CGK5BjLpNZ5Nd8HpLiIFdfdJKJoHJWQ5XxFqvLz/pT1T3 MJ5YNhirWEjY05z71uQsrapKx8nAXWg= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=efficios.com; s=smtpout1; t=1707418164; bh=Cw819/KonN7FOZNMfLR1Ivonx2xW8T4iDPwkWkOj91U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UblpDhvfHANKqJFQHeaHwkIpXUAIYpC9oPLq0TvfWfeRXeTXyN+gn3/3ZipKcpRL4 eL3OcfWoFDAmV1IC2qHFKtps99Jv9WaIB34f3niYgPevHxifDv2iVq2oe1H8HJ7VY+ OXS0FYiaAgd+LT/r4tnoX+2TAAL0JEi+bOVAMyUtknBxHB/5sMW6AKhnI7xTUrvyRe 1esVYyBFR2R+W7fxyIfhFzUjx358IVx4OTM22EMYEIi6AWNv92bRBLshKWZ2Uhecrn LmOjnmnM7mNgo8jd3iGTu7S7JpDScrW0M2MFW/F0ToU0paCORuAOPQK8zLKt+kMQa0 nRRCOKzwzHRQw== 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 4TW5cg4y4VzY5M; Thu, 8 Feb 2024 13:49:23 -0500 (EST) From: Mathieu Desnoyers To: Dan Williams , Arnd Bergmann , Dave Chinner Cc: linux-kernel@vger.kernel.org, Mathieu Desnoyers , Andrew Morton , Linus Torvalds , Vishal Verma , Dave Jiang , Matthew Wilcox , Russell King , linux-arch@vger.kernel.org, linux-cxl@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-xfs@vger.kernel.org, dm-devel@lists.linux.dev, nvdimm@lists.linux.dev, linux-s390@vger.kernel.org, Alasdair Kergon , Mike Snitzer , Mikulas Patocka Subject: [PATCH v4 03/12] dm: Treat alloc_dax() -EOPNOTSUPP failure as non-fatal Date: Thu, 8 Feb 2024 13:49:04 -0500 Message-Id: <20240208184913.484340-4-mathieu.desnoyers@efficios.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240208184913.484340-1-mathieu.desnoyers@efficios.com> References: <20240208184913.484340-1-mathieu.desnoyers@efficios.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: C7E87C0019 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: makthzccafjd58k69x8q6d7j9fhw99zx X-HE-Tag: 1707418164-401375 X-HE-Meta: U2FsdGVkX19o963ZEUIix8WFRcvtsGtLW+FDpsAgGKiCu6NriAVOr9wfHlRNz0pVFOxL7bvv/VdBCcuS89rMFOKTHCatt8COgQNk/moX7P4CloruipA6SNB9IwRT9xcuVlPJbFoePLAqocG0E7Mh01lY5/5B7n8ZXzMZdn1Ddpg/wnCqfEUCSXgwTLUxSKIRD97Y2rwhkNjDiy2mQ/EUeA4+qxwqdQC57T4pp1Opx+o9y9pckOjWgC1za1Rabu0CIn3TDTdO7N3L2Ro+s3+6jn2LH2t1TfUCUK50J9qTOMIWg0y5EKWd7uoLocgaj9w06/Bg9On5rJlrzlhintXvlyaNUE32zhveRSGNqOjRK/wfa8sFBnbXqO2olnvBRrP4UJuljbolwd9WeMtYuQ9oK5FS9jbcHtJSnErKQ+kJBZ9/P/9VszZ5/8GUGGvqz/Dgfl0Nor1MZITW6QVcWcBdQz2Y7WvQ51EzpBBVbJ5hbhsf5DF2Z44hHVZj6jMfNsO3jKTDmJ45Qgka7HfovjVuqH74sGbBXyyi9HALPmHfAcD3Rngo3HsLJVwI+TU9D3xCOuEjOYNNOwMIpo3xKC/W0MlTfToyrBUOMJIO7TjMnJ9IwnteuyiS11xBVoqXQGPrqvqT5rogPs3SB5v1uHsWjBNJoQk7UJET7+WAFagATSd/vQyl7ybDw/Sz4MXthLT33O1V9ri33brV3TO0RFz6s+iUYK3qfsYPeNhfmWs67jgX24DuagXRgmW3HqXDihmEAN/UJ3hp9HDRkvchFtCA4Rd9JWtasVpOgKwokAEm9fYzZ3LwXHTjXwoPyF/Bx+Wtw3U67+KF7XhZBavfF0nAvQSq++6EU/u9wuJ1x1Njxxf1SHDJ/I50rWQUwTwG+4cFDHmcozTOaaLD9TGfVaYwsh2doMQmCW6gfzUQaabWZsEEOX9mYmFJuaV2Uuzt0AXaXS6Jha+GTYusj1yLGxJ 7N4qQrPD aCZsGaYNVgMa/pH5UTxn65FzgB179/q8ZLjYEtH9REtfrjPi/3CVTb2kFPu/t4rnEMP8swCi6WT3HmYQrEJNqlX3s9IHASn+ZTC958jNruAuQU9oGfa68abDetVtmfMxyz8roxvLbIAs703Me4t3UnK18tA1gy7zyj1J1i2y/iRwmjsezKhOpRid24zHE8xirUkONPeXTeNSCCzfJ22UEQwZvJeWPZTT8bvFckwJuJrOjb32X/zAQFhF1xoMHkYegyAwXjCxVNnESBvRbqIGoKNtLY5MsyCm3E1RVGGcJ+Uou4BmVX49o/BX9jpptSZlnGASiUi/ipfC97q7fJETfHCaXg/t3wO/i3EBwkgSne30c2CNJ7O4QaM4uww4oj0DAiLEDB8z8DPiobHDa5KFqIjS/vdgmSPUdOISUDlWlZJ25CqNdL7U96oG64PDjiS12dGX7f/S8nDaiv46ieIBjQVoXYR/mkZVVEVyufWUC7iYXUTumbkP76WRyHhYmrD1RyvdSDTLWM0/Bu/VNcWFBxcSVp1MRvRVmIsLGrsJwUSKjk0tJqW/j8eJtWerRcmopDqgJq/F6LmMeXqo9v80vPs4hpvrtpvjC7kU9wuWizqtN8AUJzTDIWdv4HwBtZNFDcjLTdNz8ZnSSwXFiGy9gxgdWgCtOT7lGt93a 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: In preparation for checking whether the architecture has data cache aliasing within alloc_dax(), modify the error handling of dm alloc_dev() to treat alloc_dax() -EOPNOTSUPP failure as non-fatal. For the transition, consider that alloc_dax() returning NULL is the same as returning -EOPNOTSUPP. Fixes: d92576f1167c ("dax: does not work correctly with virtual aliasing caches") Suggested-by: Dan Williams Signed-off-by: Mathieu Desnoyers Cc: Alasdair Kergon Cc: Mike Snitzer Cc: Mikulas Patocka Cc: Andrew Morton Cc: Linus Torvalds Cc: Dan Williams Cc: Vishal Verma Cc: Dave Jiang Cc: Matthew Wilcox Cc: Arnd Bergmann Cc: Russell King Cc: linux-arch@vger.kernel.org Cc: linux-cxl@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org Cc: linux-mm@kvack.org Cc: linux-xfs@vger.kernel.org Cc: dm-devel@lists.linux.dev Cc: nvdimm@lists.linux.dev --- drivers/md/dm.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/drivers/md/dm.c b/drivers/md/dm.c index 23c32cd1f1d8..2fc22cae9089 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c @@ -2054,6 +2054,7 @@ static void cleanup_mapped_device(struct mapped_device *md) static struct mapped_device *alloc_dev(int minor) { int r, numa_node_id = dm_get_numa_node(); + struct dax_device *dax_dev; struct mapped_device *md; void *old_md; @@ -2122,15 +2123,15 @@ static struct mapped_device *alloc_dev(int minor) md->disk->private_data = md; sprintf(md->disk->disk_name, "dm-%d", minor); - if (IS_ENABLED(CONFIG_FS_DAX)) { - md->dax_dev = alloc_dax(md, &dm_dax_ops); - if (IS_ERR(md->dax_dev)) { - md->dax_dev = NULL; + dax_dev = alloc_dax(md, &dm_dax_ops); + if (IS_ERR_OR_NULL(dax_dev)) { + if (IS_ERR(dax_dev) && PTR_ERR(dax_dev) != -EOPNOTSUPP) goto bad; - } - set_dax_nocache(md->dax_dev); - set_dax_nomc(md->dax_dev); - if (dax_add_host(md->dax_dev, md->disk)) + } else { + set_dax_nocache(dax_dev); + set_dax_nomc(dax_dev); + md->dax_dev = dax_dev; + if (dax_add_host(dax_dev, md->disk)) goto bad; } -- 2.39.2