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 4C354C4828F for ; Thu, 8 Feb 2024 22:07:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C9FB06B0093; Thu, 8 Feb 2024 17:07:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C502C6B0099; Thu, 8 Feb 2024 17:07:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B3F136B009C; Thu, 8 Feb 2024 17:07:12 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id A4A8A6B0093 for ; Thu, 8 Feb 2024 17:07:12 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 7495FA273A for ; Thu, 8 Feb 2024 22:07:12 +0000 (UTC) X-FDA: 81770023104.25.90C0B36 Received: from smtpout.efficios.com (smtpout.efficios.com [167.114.26.122]) by imf16.hostedemail.com (Postfix) with ESMTP id AD69618000C for ; Thu, 8 Feb 2024 22:07:10 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=efficios.com header.s=smtpout1 header.b=XSCnIsVi; dmarc=pass (policy=none) header.from=efficios.com; spf=pass (imf16.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=1707430030; a=rsa-sha256; cv=none; b=mxGeRHjSn9mVyZIVtkI+3Ks991dGx47bbM8GA9BXD/Zz+vLgQdKQJ6hqZ3EYeaHLW+q+F7 OG/JWZ0nPNY5HNqe1JQ4jTznUXhxw9cd7RDQqmtAcbM3JQJnfkNrnEabiOLCSzQAlbab/V GU7bKbdWmbZbQX8S3Y4VEaAhJFfQKpU= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=efficios.com header.s=smtpout1 header.b=XSCnIsVi; dmarc=pass (policy=none) header.from=efficios.com; spf=pass (imf16.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=1707430030; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=mphb3yOLSSHPwyMYzg23LxuKXYukhEfBuc4PwgY85mw=; b=8eEQc1vHnSZoTyC8doBCos2GzLZqcixa0K1d03X2iFxBGqtgENXbwF1grDMtHilBMOBqdL mrFsibOgmnLAsdwSRvCrkisNRMNZEfFdbWnrhUu2mqLQYTP76vTiN4NrJ3zbk/WzOI+Ili do6Gu6TE+ImevV0S3lMR3vbsU/BmyAs= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=efficios.com; s=smtpout1; t=1707430029; bh=92zdymWBorEcREsjLvytVG2j1+C/vMQZspD2t9Fgjek=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=XSCnIsViF75EWel0lnYbPeaM//N+aw2inHEoC0Gvjx+GA2rcjy1oIRP4XYCUGzWFC +Wfoz/nrUqlXI5gpo4mbukfNJ7C1NZMmt4vVtSlOQ1/5bNmwsHmDuMaKHFF0LCCloU oGxSETGFpggEmINJcnxVxV8tv6KcbXa6RsWUsr22BAvXZASnBA+2fHxz2lu392ilc0 cwLFqsYtT/E5g7HHZ0+VCgDDH5SgevkM1WIjiPNeikO/GsbYH0Hr053lTs+Xs8aQQK Oze/+mF0fwhHTJcab6rQ4x9Tt56F2q9G0H+uVqMGLQGIVgNb3G2I4tkNRVTdqblEao WSJHJVjET15dw== Received: from [172.16.0.134] (192-222-143-198.qc.cable.ebox.net [192.222.143.198]) by smtpout.efficios.com (Postfix) with ESMTPSA id 4TWB0s1w3hzXtJ; Thu, 8 Feb 2024 17:07:09 -0500 (EST) Message-ID: <0159001c-6d4a-4aab-a46a-d160673c21e4@efficios.com> Date: Thu, 8 Feb 2024 17:07:15 -0500 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 02/12] nvdimm/pmem: Treat alloc_dax() -EOPNOTSUPP failure as non-fatal Content-Language: en-US To: Dan Williams , Arnd Bergmann , Dave Chinner Cc: linux-kernel@vger.kernel.org, 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 References: <20240208184913.484340-1-mathieu.desnoyers@efficios.com> <20240208184913.484340-3-mathieu.desnoyers@efficios.com> <65c5487174fbd_afa4294e7@dwillia2-xfh.jf.intel.com.notmuch> From: Mathieu Desnoyers In-Reply-To: <65c5487174fbd_afa4294e7@dwillia2-xfh.jf.intel.com.notmuch> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: AD69618000C X-Stat-Signature: pqnpydigb4bq49orirpxfir7xudr9ecr X-HE-Tag: 1707430030-181918 X-HE-Meta: U2FsdGVkX1+fxvf8Teb44/MKyNq2a8mfyD1KDR4h8p7he6HlExZR8HIvxY8Za8UdeTdd96mjqTVeDX7cMieFdXy4t1B81yC4fE5wVbKSfokT/nSsNpVHL1oc9G6pCPrNPPH/h1fnmptgre0wXkMNwmCh+Rsp2IxzF5rcGTto9KePBVzqt6ipojxDaW2NYpjrIFgbNo6bu9IPZJHPiP+1XIFlirZiG+cKyG/Nsp6gwKYDOvrwoJ776dGhlcv3lUWdpWyUfkaO4GcfB5yFTLbdJghBTg9q74cVWzP8TZb9RY9lqrrjdrTaSMvJtNnu7Zfv+SV1DWlvf9ibQrLA5cprDxTeiov67017HWP++PA4dnjlCj2AKseKONvNxHroTfg3Czm79rVBjhW5ggDU7G4o97OFyfsDrQ7xCUv5sGZL/Er0vYIwBmqfgyXQDpXVPvZb26l4ryZPs+HYjhsKcLf780NnSUVt4QOKUUxIJ+X0fQr4OnIQI8gvngxyp32fVN/gUklKJ4nmYjgXuJmY9eEwgxhG/fTL7T7PGEXAX1JxW/2NiuUsjuO6QvrgYQ83adIjbPouXoylFKv4V3ppfGixV+/Z7Svfx58DbG1d3zwABa7ZvSKFQktC9NazJmBuXm7TfUqeiTHdAQs0dxaC0PJWX3piXaqsovuI6AD8hZt7BmcifNvxOhX/THKWTphXQuewwpIUNDwGGfNjrg8i40QFAdRF7Gt6YuHK0mRxk7xdNT1LCOG17A9leyUcJc4CunEIguurxa/PVOJfLF+ffZRz7iKvc4y+EJaiwevqhj1FcXcLU3b09hSprmiYnNVpgS3A8LDArfFc+9dhlK0t6SUxeoLJchT+Vhs6fAdsxLO4vS+RjLYFrovbWity4AaBJNfI/FUsyXG27mIN2tNpzxwuQt14+G/D00+NzLio7kaMPFvuBKcFndOAGMXb+LRyeBZiEYDyvtjbU5NLFYt4Tbq blXArwLs H2Blah6EEj/xKNu/dgJC7630LpKbabuBAhb+NtB6lsoBMiugXohAO3EBaKfxJTF6cJhTtpeEMaO9nEmjQOQ/5q4/kMausWYPHu+/C4Lno1d+8Q0AsHkr710FMG4loVVD449vct1SSqgmC+7KrOjzei/o6fDSC5j6OOGe5vxs7Dp7lx3rPkIjtThdf1QkierFqAeWtE48NYuaUBvDsHDwTa2NA2FQP1M1Ma2YFhZcCQqsQfwW1McuBz72OIh/0sgj3ZjwapC/Ltz4EqNMi1eEnaB04EQkSjV+Fr+xXu8CQuyvQ235UlvZFjWvEhPn7EknwHTUmkWRYeny0WOYSOrxv1gQjBOrvcsElKgEq92IuhL+K6BRrW6T6P8b5vYLEpZI/DYBRTf+f604RBKgmHdGg3/CRrauqKbEqdfzG2KSe5yWejhWnHIZvPM3IMuS6eV5fEZrhEgeStDZ8CmRkxar2OAcOUUcMYxqt/7aRcmw7bMoc/mkKzsCU1vYhiRsTsyg5IN2ZqLOi65W5048BpGl2CndKT1uwc+BxO7Y2T+RAPKCHxLFlOXyf5npbm+2e3EAl/O7Nuqx9YPxagH7uJn5kpX/XyQ0JTffaLsa3N7eJiSD2AXPu5jWvruxwUskdpZKpbbWfnO/1TY7nnR6vMXsGvAAygFJIbxnYGyWqMOyL+V2aDgpL2ICLu27/sw== 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: On 2024-02-08 16:32, Dan Williams wrote: > Mathieu Desnoyers wrote: >> In preparation for checking whether the architecture has data cache >> aliasing within alloc_dax(), modify the error handling of nvdimm/pmem >> pmem_attach_disk() 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") >> 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/nvdimm/pmem.c | 26 ++++++++++++++------------ >> 1 file changed, 14 insertions(+), 12 deletions(-) >> >> diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c >> index 9fe358090720..f1d9f5c6dbac 100644 >> --- a/drivers/nvdimm/pmem.c >> +++ b/drivers/nvdimm/pmem.c >> @@ -558,19 +558,21 @@ static int pmem_attach_disk(struct device *dev, >> disk->bb = &pmem->bb; >> >> dax_dev = alloc_dax(pmem, &pmem_dax_ops); >> - if (IS_ERR(dax_dev)) { >> - rc = PTR_ERR(dax_dev); >> - goto out; >> + if (IS_ERR_OR_NULL(dax_dev)) { > > alloc_dax() should never return NULL. I.e. the lead in before this patch > should fix this misunderstanding: > > diff --git a/include/linux/dax.h b/include/linux/dax.h > index b463502b16e1..df2d52b8a245 100644 > --- a/include/linux/dax.h > +++ b/include/linux/dax.h > @@ -86,11 +86,7 @@ static inline void *dax_holder(struct dax_device *dax_dev) > static inline struct dax_device *alloc_dax(void *private, > const struct dax_operations *ops) > { > - /* > - * Callers should check IS_ENABLED(CONFIG_DAX) to know if this > - * NULL is an error or expected. > - */ > - return NULL; > + return ERR_PTR(-EOPNOTSUPP); > } > static inline void put_dax(struct dax_device *dax_dev) > { > >> + rc = IS_ERR(dax_dev) ? PTR_ERR(dax_dev) : -EOPNOTSUPP; > > Then this ternary can be replaced with just a check of which PTR_ERR() > value is being returned. As you noted, I've introduced this as cleanups in later patches. I don't mind folding these into their respective per-driver commits and moving the alloc_dax() hunk earlier in the series. Thanks, Mathieu -- Mathieu Desnoyers EfficiOS Inc. https://www.efficios.com