From patchwork Tue Feb 18 03:55:34 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Popple X-Patchwork-Id: 13978910 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 B56A8C02198 for ; Tue, 18 Feb 2025 03:57:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3E0D02800D0; Mon, 17 Feb 2025 22:57:34 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 36A052800CF; Mon, 17 Feb 2025 22:57:34 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 146442800D0; Mon, 17 Feb 2025 22:57:34 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id E87E12800CF for ; Mon, 17 Feb 2025 22:57:33 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id AA6BD4CC28 for ; Tue, 18 Feb 2025 03:57:33 +0000 (UTC) X-FDA: 83131705986.21.C07C656 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2088.outbound.protection.outlook.com [40.107.223.88]) by imf25.hostedemail.com (Postfix) with ESMTP id EE4AAA0007 for ; Tue, 18 Feb 2025 03:57:30 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=nGvhWfaF; spf=pass (imf25.hostedemail.com: domain of apopple@nvidia.com designates 40.107.223.88 as permitted sender) smtp.mailfrom=apopple@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739851051; 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=RtBaqYvfVYWwhkk0mbirzaJ8NN/nkFZeQ7cueszAH5c=; b=7j4xXvWsZMWBve07G+asfHkbvwFn+iMpLtUtexuXZlT4nHFc4X/P838vI8t4VijEFIyVU+ XLQtCht58CSaeT9HWGxJq5tT+EcU1wNV7n3UM19Dq+NaGCBD58mPhbocShsRD7yKp95LBp ZGLUi7vx9w83zyJkzTiA9WXXAuT+FL0= ARC-Authentication-Results: i=2; imf25.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=nGvhWfaF; spf=pass (imf25.hostedemail.com: domain of apopple@nvidia.com designates 40.107.223.88 as permitted sender) smtp.mailfrom=apopple@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1739851051; a=rsa-sha256; cv=pass; b=ZO/2QCcIbFS7I+sEZeK7cDEWp7UiLMyf1qmVjNf9xNCkfRhRxneMk8Gm9KhyPgMWLNHQbk 0oQnRkmxI1xn+WRLk2oVY/bsH9yCMDqQnE7OxekHnB9c8pxJ6sTiJCuKf+Fl5iL8ybzKco RzdfgH42y4U1kHrxqB8xXljz0fWVofA= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZP39YEW1M4Ve94mnIESFggkIJO/hRc8Ab/PQWZWO3vPom0HHhD/0BntWCWQXgA+GNrcrdnUqGPEk3N4zZ+43wzpRsQf3tMsbLJvbbmkGWC+HmP/TXdSNtCLEGCKgEDh6qCY5PZA9cqfNyAA65eAiV9s8xnrCNSncCn7dqpBrzFjmUDmgSJiIqr28vfXTuojsx40vUXZ0jPrw/ZeRciX9QRf3WHanWRZQGqcpLG9TLb2yXFkljpWRTd3QTbZpmp+OT1RgPQKKnGGtXGoRPAFhsPlgTfXmG803AN2PVgqS7YjL4zYD5MEnr+LNj9CylhgskBuVHwBC7IZtYb/TTFdBbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=RtBaqYvfVYWwhkk0mbirzaJ8NN/nkFZeQ7cueszAH5c=; b=i5Y4Zou5Sag6WHNNMm199sonbUw6E8fozpbJtzepsmPuI48qKUyPz+bP8Dlemi3Jj9jpSXdzWt1imK+6ESZZuSBKwWwYjfWctfnxv1PhITO1FQNNN7BZl2XnogC25qnHfbEQyDLzpEUkcxImacux5yY6ltyYxMibWolHE0apCQPKR/15Wh38FfFIhEPS61llWfFdyqYesLPard9kmjBszVotRdDnQrdf9IlAfmYDMZdGxNF6DGDqAW9gZcfoWoDPywVYnQRDGp7SsoekB1s1/T9qg/XTK5ZpPxciWSj8CSSiqc1/3lEDphje+JBLDldLOK/gUAg3ONukE2oVh/T5MA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RtBaqYvfVYWwhkk0mbirzaJ8NN/nkFZeQ7cueszAH5c=; b=nGvhWfaFAP91l6b1EcwazmEcAIqMnxfoKAH6H9sw8LtMB2U71xSXtCna6yvUYml1SuG01eU3aOmbU24PVFYG4JBS9GJvvyzGJaf19LM8NdXOakTRh24VtbGMfFqvb7XwHaRboQOAQSdb2vz78h3+GkgphWA00UdOlJwZRSCa63ifllB+CVBOsJio5C3ve3FWOeZwRI25ZvfajHLO01ysgL8UVtnoyvRfxjWro/ttRSm0hcUR8ii6fgzTopHQKnHVbYtpdRFaFUhgpeo8LlM2J02tjN5ZwnxxhZ7Ls9s5bQ9hiwqcC34cHGmkRWCuxNnqAY16y7Qg9tUcRkjZT1WCvg== Received: from DS0PR12MB7726.namprd12.prod.outlook.com (2603:10b6:8:130::6) by CH3PR12MB7593.namprd12.prod.outlook.com (2603:10b6:610:141::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.19; Tue, 18 Feb 2025 03:57:26 +0000 Received: from DS0PR12MB7726.namprd12.prod.outlook.com ([fe80::953f:2f80:90c5:67fe]) by DS0PR12MB7726.namprd12.prod.outlook.com ([fe80::953f:2f80:90c5:67fe%7]) with mapi id 15.20.8445.017; Tue, 18 Feb 2025 03:57:26 +0000 From: Alistair Popple To: akpm@linux-foundation.org, dan.j.williams@intel.com, linux-mm@kvack.org Cc: Alistair Popple , Alison Schofield , lina@asahilina.net, zhang.lyra@gmail.com, gerald.schaefer@linux.ibm.com, vishal.l.verma@intel.com, dave.jiang@intel.com, logang@deltatee.com, bhelgaas@google.com, jack@suse.cz, jgg@ziepe.ca, catalin.marinas@arm.com, will@kernel.org, mpe@ellerman.id.au, npiggin@gmail.com, dave.hansen@linux.intel.com, ira.weiny@intel.com, willy@infradead.org, djwong@kernel.org, tytso@mit.edu, linmiaohe@huawei.com, david@redhat.com, peterx@redhat.com, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, nvdimm@lists.linux.dev, linux-cxl@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-xfs@vger.kernel.org, jhubbard@nvidia.com, hch@lst.de, david@fromorbit.com, chenhuacai@kernel.org, kernel@xen0n.name, loongarch@lists.linux.dev, Alexander Gordeev , Heiko Carstens , Vasily Gorbik , Christian Borntraeger , Sven Schnelle Subject: [PATCH v8 18/20] dcssblk: Mark DAX broken, remove FS_DAX_LIMITED support Date: Tue, 18 Feb 2025 14:55:34 +1100 Message-ID: X-Mailer: git-send-email 2.45.2 In-Reply-To: References: X-ClientProxiedBy: SY5P282CA0160.AUSP282.PROD.OUTLOOK.COM (2603:10c6:10:24a::17) To DS0PR12MB7726.namprd12.prod.outlook.com (2603:10b6:8:130::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR12MB7726:EE_|CH3PR12MB7593:EE_ X-MS-Office365-Filtering-Correlation-Id: 3ec3027f-2c8b-4eb4-b486-08dd4fd05b43 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|366016; X-Microsoft-Antispam-Message-Info: JnbaNkcAr0zS3vBVEVZE6qyx8J2Ab8vwC/crckWojmkYTONKbHNtIdxZQCa0GZpeEe2OP9wheYtlnhflIjB0aKWzW3VkCxNILefh7JTPsD/XT9YFq9KzHaxAoqhBQ0sXOHNwx8maHmKkTqeng3kfVK6wCky7WWUndQfIT5bXzXSDcC3EQMCEFu0iZWN70KI8zsiydUUdTDq4lGJ+8O98F2c6LBJC8jmQ5Y1RG0qjg1I9Nej62q7OLGnvLfEG/xNw4YqhhBCx6FPp51IT0x4VO4P/xgJCXMSE2jfVyiVAoxlLHs/tZEQ58cMsjvxHot9IrABgxH8aebKT3ceeA85aj1D5FwpV/FVlCsMyJQvk3ueEUzrTrh68n3wshheOxS2c4XAzc8i8MOM1Jl29F95lhnnC7ZLIrKIjXe3XyINKeGHcJCEaUIW2iin9bNpofQ3lPaNqEDD/kqHDr+nyMChqZkZlkA5Gwxnp00W5GJfahx0UcXMosSq51R3xBnaMLZm0CG+UGHtY8eGnlXFRzD3bFBzdLvqre/RcD3yi72d1ddInN9IVg9fKwyHzAXxaw4VDctRw4bG5dfauJqZd4BICkNDbLGRCBK61nT4OzFAsmvW/BmGZNSW1mlByLYFFnA2UsYZx98hDh0Q7mM9v63b5DLaWV3R/Wa+NH68jrRrhUPRQBJ8pSLuP4r6cR4Yn6eoNsdxjHGRtKzNufYSJYGtTIFRlEmdHMp/qokMBf0sVt3/+/dEO+K5aRaCBEeODAvGHKuF/8A1ohvm1GcqMHwtJKo0TG96O58LCe5xpmFL9OR+hVENPuYmF54qmZx5bWKfzEn34fmNjqXJEEjJl+XUKpZM/e+jHsKlpmfjsUK2BDSWs8LZX1O9VcG8xnBB9HhC8IwJtX48U0ig+lm09OBbNEvco8wINjCSuLHSavMelr25EK9J80Zq8xHk48JJSEfCjW+Y02pTZWUBtPZ4ynrzNX2UXNgGi//0YdjvhYklxAgtDoWrpDU+jM2sPl1lDA2Gk7gU8s6U8qcagbsW30zW7CEzbAZAsyCdlIJQ0tKna1edjZV+GQK6ev43RehuDCW7CH04JwMHYpU65AyjPOhvYNwfvF6ahlUBv9QOCpqUQ+HidELeg0auHxX+xV34fTNF9nq8/R5EwC/hprrO5JVEz9A9evmvRRWKrPUc7kvuUS7vj6BjpfVWVwbgSyyHGB+GP4CHlZ/0CrTcfGoRkj/wTnoU2TXzFsZBtsFYcdUroLc0reyuLKiFxYkfiW5yXJn5qYdv7Zx1Oan6gwKP4liwuqMnBzK2pnigYYFwrvxhOuv7d5qRzf6H1sXi7nyMWLepTg5eYXKbpE/9h4f5SXO6/25+6TGyzDSa8knt7Rm9flEylnw3kBtVvBEY/817FMrW8 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS0PR12MB7726.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ixnYgZUGlw3eAcgIXBMJMarzExISbwtvVXdHcjF6pkRDA8WPMzXWspOtIcsba01mwEg6miXFgClqfkpbUHQk8qTF1w96jlrkgH4+KU/M0OOalH0EpBLg1To2QWUgs01WOY/0ZRM5CJPtjA6SQETAGov+fqdIH9uVguq2ITMA/KVkAMJjIOoYlaHWdmoljRsLWZ/PtXj5Tf/d5XzMpiYvRhnWlhsE/yCzAS/3E6GEPgXbhg2DzgD6oxi2XG0ockwDnsoqzVqdBbUuR+DtOqa6pyyQN8IJlM/iEjhXggUXnqHsFqTdgpOZNQiUOnl+B64/5UTWByq7Cftm0vTUYeUC3bBZ0Ya3ToTsv2be1ejfCAK52bkLAGLh2eaoRNgQC4JQkQc4v3dlqQJ2bH9erkCNLhC1QY5WO5pky++NcugsS24QTi0u3I/jqQfUXsOc07zWudBoAIgKz2yb71i+QMvBOVVEsEAUsPIDflTe9qWL8x88TvNf85qTdvgZteKxhU7ASv8gz65mr3VWBQmifFu71xu9FJNlPDXoX0271xKGN+0l1m3k9vhEKE36r/9P3SFupjn3X9WeJWyoCG2fSkl/Zvp7lxO9tGxVkNs0/w2wup9ShnufI7ZI75eD1T53tEh5arS0klmvUVFcJ9TQY8dnFVi+FTrG1dKi6t9iJT/nS0oixrv4zcaTfCz0kYD8otiGJEiSrgyto76Ss+pieNaq55nmkzeILg+/ARQIWaC2loRfVc5EqWp/zHotsk27bvKPCRIhKrgg/+QRjc+lA8/N14rP3nbT+O5TY6URihwNsvb+zEsKrgWcyr7WkGEOa7TaegTkMm7qRDa8v93TRzAcDKCcCKInskWsyXRfEQFxAYWsFV5wpXxWbeFRGID6H4nUPmSs0I8s7PTM8Cyw7/m0ikeiT85+LZ5c+jcbGt6ca04gmrLI1q0QS40+JpXXeEIbLSMbtL2CZhy0Oox31vDxCkOaL8IlHxHhwlBNU3l+k9eNb8SbQZTqzz3EZvH/N5ePuFakZOD4vuTBSHZQZAbucc85dMi6QxfvYTMLhngvcX4q2nTkg4TyIP+HQBEOVH8T9NNk+YCAvxSfyrmuz6GCYV3m50/PEFZiNsJXRtkaUMZjbZ9KTDIpfX9GcaNwq56GXxB/BVCcQ1nOfRPWMasrbBByVnrpsPwpzb4WkRMdpfReAMirIQiakqqvzM6tp8dQ75HcB86uazIVLua5WQ3wldiPho9zpML4egUEAdAbKfYFVqkqSB5XHqNCRIqBSkFQPOyrfD4zfMHi+AWp/uqr3s5nDJRW738fzJWvPEtvmxyQ1Wj/v+HoWE/kXMuTQ3VH/VtoT9n7hyq9Vr/pRoiU8HtNuFZhAxpBW4j4dFJeRR8LMPtgVCSDCyzzDJ2w/N8pfJsGT3JxrVYfndqp2uPLvS2a/YjsEKiNt4CwlxcId+Hx9SzqTyn+/xGIafKLwBp/dLKG/HObPkE1uRIjrziNI9UnGob0pxU28hrCwpAfrhWYzdTn469nffIjl2RTGqk2NKRfxq2dn9LqosY+KUSLoT20M7g+f95bGndOlJeBmXhwaRiFrz7cGNbTgs6EJjzN X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3ec3027f-2c8b-4eb4-b486-08dd4fd05b43 X-MS-Exchange-CrossTenant-AuthSource: DS0PR12MB7726.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Feb 2025 03:57:26.1705 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: DhJtABB/6USBLgYeI935XzYGRloguVxaUrOOqxycqdPvyNL99fH/2Q260OKpOfbUfPmq7/qbbU8n2gEYJ21ShQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7593 X-Rspam-User: X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: EE4AAA0007 X-Stat-Signature: gt6tiragx3p114fcbiyk4j51hz6zi9pj X-HE-Tag: 1739851050-281634 X-HE-Meta: U2FsdGVkX1+1PkIueqPf+lBReeowjVs7vRii41noxDG/cpXAd06hPtzYqHG/9E56FOVflXlW00AhJEySbP7UY1Fhp5a3NS2Yn/8vW+cl9J0AiXbp2gWWHsNYuy0oDipOwX/ukeU4kecwf6ctMujHcMQFBmp5jVrmwt0BWJoqe9AlFNQzti4fGkxdYjnMo9RC5Z+4lLgM2uV1dMWnJq352DKkaKO8fQBIs3buZsiHp6rHt5AXuyOwe675m529suUpOdy1J9CWVF60JcQo7glTesq7r2zX3No28pM9efiZDOiL/g4TF8vQIHx8a6etazaiW+lIFjQOUge5PW3EtkkTTL/iMYUF7jBv5wyOI3Q5jHBIalb5jrZhvQfb++lV/3MQYlIlBedAxWmp2u3HR8VWTYHIzZpUEbfWojFIX20eDimmSDSlEVzKjU49bf9SsKyejA130oSmwN4AZN8EUwFBkpJCmJ1T4AfppB8yazcWi/tS8S4wRviPIOytkbl1LpqhFBFcn3JvkgdCjJVH9IM1kAYg7wu4GHlybljZ/QS6qWWR/l/LzrdEZ9JSmj1/5ciYesxoPdqTuog3yEATkuCmx9mQ941Y4IYzdqfrt7l6RDF9d56UJDDqvR4wUaVioJfHT6kaCpOgL2DzgvW1TKCkCl2k7HFaZEOJS2rjVMPwEAIwsoV+1CMZRVgm28Jbk5wYeLCzCtbYzGITHjkYqBgYl2z1pOS1SEyW6hd8oJvZ/3keRGOfSwRgUQaZAKLJrRjlzzARt/4TI63tqlboi94ClgXgi7T6DkrgKOid+ayEB+qR46e/fNvfYjc0YZArGDmJxPU4ddw3T7RSApu0AYsBst44QBTRsfIu4gBJeqAD/3byk4kHhHctqYuuFOURFzPnusguFfdIjxjw8i97XPVEldLxV0EQHZ9twPX+xEUzOkbrEhIz6wvGZMB3QAVhWv+PBa6zQOT5cA4vhTQ58Zn G/UqVlen tAER+fwVaI9fgsQR4fIh3oT7uGRtX3KDCGqwrFqsBBKy1zDrC0nFFQ3YqLNhOIXFYTvE69rKyiqpLbRp7Y+K7acdtLAMK7wxsNY44/k4lmDtaqUPEjwoyf7jlg4Wm7gWNzvlmlPHAtwHaXHwJHa9PEq3EBCIytusRdfRACvGDkWpg5AMjHrlBnzQj84+raLoH46yb1W69yiE7z9x1OeUc6Di3b9/BYoZMWM0UTiNNJ3E6ilitTYgFsmvBdudl8USyUSeLVViOPUh8OxD6w6EeeUwz5qDo/QIO0pSE2Pg8uv3OGM2XpFO4OlQhVrmDIj6Bdt7anbj1y0XUBoTT0ZmRH/WT7eYZGeC8UY1cuoNFmfjsSuW381dlR964qTnXJnzb3pbAs7U6AkJN2BFJPZschpC/nGTK4AVEznV0N/4eAf/ek5cYceVcyfDvIJQymSR0td/nmbotjAYSsmKkHRppyIvKuhEc4L3Cu1SZqrXxhHLTdNK5Cyw5zsPj/MtooIETN+hUAIxGUxZX6FhG6GFVakNKgkZm2kMRCT53Ea+MOmPHluhjjWzKdFp4VWoO6SYm2mPdCGQmdIT9VFIgDWs4j6N9gbESntMmeeJlXL087kgYPdw= 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: From: Dan Williams The dcssblk driver has long needed special case supoprt to enable limited dax operation, so called CONFIG_FS_DAX_LIMITED. This mode works around the incomplete support for ZONE_DEVICE on s390 by forgoing the ability of dax-mapped pages to support GUP. Now, pending cleanups to fsdax that fix its reference counting [1] depend on the ability of all dax drivers to supply ZONE_DEVICE pages. To allow that work to move forward, dax support needs to be paused for dcssblk until ZONE_DEVICE support arrives. That work has been known for a few years [2], and the removal of "pte_devmap" requirements [3] makes the conversion easier. For now, place the support behind CONFIG_BROKEN, and remove PFN_SPECIAL (dcssblk was the only user). Link: http://lore.kernel.org/cover.9f0e45d52f5cff58807831b6b867084d0b14b61c.1725941415.git-series.apopple@nvidia.com [1] Link: http://lore.kernel.org/20210820210318.187742e8@thinkpad/ [2] Link: http://lore.kernel.org/4511465a4f8429f45e2ac70d2e65dc5e1df1eb47.1725941415.git-series.apopple@nvidia.com [3] Reviewed-by: Gerald Schaefer Tested-by: Alexander Gordeev Acked-by: David Hildenbrand Cc: Heiko Carstens Cc: Vasily Gorbik Cc: Christian Borntraeger Cc: Sven Schnelle Cc: Jan Kara Cc: Matthew Wilcox Cc: Christoph Hellwig Cc: Alistair Popple Signed-off-by: Dan Williams --- Documentation/filesystems/dax.rst | 1 - drivers/s390/block/Kconfig | 12 ++++++++++-- drivers/s390/block/dcssblk.c | 27 +++++++++++++++++---------- 3 files changed, 27 insertions(+), 13 deletions(-) diff --git a/Documentation/filesystems/dax.rst b/Documentation/filesystems/dax.rst index 719e90f..08dd5e2 100644 --- a/Documentation/filesystems/dax.rst +++ b/Documentation/filesystems/dax.rst @@ -207,7 +207,6 @@ implement direct_access. These block devices may be used for inspiration: - brd: RAM backed block device driver -- dcssblk: s390 dcss block device driver - pmem: NVDIMM persistent memory driver diff --git a/drivers/s390/block/Kconfig b/drivers/s390/block/Kconfig index e3710a7..4bfe469 100644 --- a/drivers/s390/block/Kconfig +++ b/drivers/s390/block/Kconfig @@ -4,13 +4,21 @@ comment "S/390 block device drivers" config DCSSBLK def_tristate m - select FS_DAX_LIMITED - select DAX prompt "DCSSBLK support" depends on S390 && BLOCK help Support for dcss block device +config DCSSBLK_DAX + def_bool y + depends on DCSSBLK + # requires S390 ZONE_DEVICE support + depends on BROKEN + select DAX + prompt "DCSSBLK DAX support" + help + Enable DAX operation for the dcss block device + config DASD def_tristate y prompt "Support for DASD devices" diff --git a/drivers/s390/block/dcssblk.c b/drivers/s390/block/dcssblk.c index 0f14d27..7248e54 100644 --- a/drivers/s390/block/dcssblk.c +++ b/drivers/s390/block/dcssblk.c @@ -534,6 +534,21 @@ static const struct attribute_group *dcssblk_dev_attr_groups[] = { NULL, }; +static int dcssblk_setup_dax(struct dcssblk_dev_info *dev_info) +{ + struct dax_device *dax_dev; + + if (!IS_ENABLED(CONFIG_DCSSBLK_DAX)) + return 0; + + dax_dev = alloc_dax(dev_info, &dcssblk_dax_ops); + if (IS_ERR(dax_dev)) + return PTR_ERR(dax_dev); + set_dax_synchronous(dax_dev); + dev_info->dax_dev = dax_dev; + return dax_add_host(dev_info->dax_dev, dev_info->gd); +} + /* * device attribute for adding devices */ @@ -547,7 +562,6 @@ dcssblk_add_store(struct device *dev, struct device_attribute *attr, const char int rc, i, j, num_of_segments; struct dcssblk_dev_info *dev_info; struct segment_info *seg_info, *temp; - struct dax_device *dax_dev; char *local_buf; unsigned long seg_byte_size; @@ -674,14 +688,7 @@ dcssblk_add_store(struct device *dev, struct device_attribute *attr, const char if (rc) goto put_dev; - dax_dev = alloc_dax(dev_info, &dcssblk_dax_ops); - if (IS_ERR(dax_dev)) { - rc = PTR_ERR(dax_dev); - goto put_dev; - } - set_dax_synchronous(dax_dev); - dev_info->dax_dev = dax_dev; - rc = dax_add_host(dev_info->dax_dev, dev_info->gd); + rc = dcssblk_setup_dax(dev_info); if (rc) goto out_dax; @@ -917,7 +924,7 @@ __dcssblk_direct_access(struct dcssblk_dev_info *dev_info, pgoff_t pgoff, *kaddr = __va(dev_info->start + offset); if (pfn) *pfn = __pfn_to_pfn_t(PFN_DOWN(dev_info->start + offset), - PFN_DEV|PFN_SPECIAL); + PFN_DEV); return (dev_sz - offset) / PAGE_SIZE; }