From patchwork Tue Feb 4 22:48:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Popple X-Patchwork-Id: 13960104 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 11357C02193 for ; Tue, 4 Feb 2025 22:52:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9D38928000A; Tue, 4 Feb 2025 17:52:53 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 95B46280001; Tue, 4 Feb 2025 17:52:53 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7607F28000A; Tue, 4 Feb 2025 17:52:53 -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 4FA0E280001 for ; Tue, 4 Feb 2025 17:52:53 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 165F5B04D6 for ; Tue, 4 Feb 2025 22:52:53 +0000 (UTC) X-FDA: 83083763826.10.B95FFEE Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2040.outbound.protection.outlook.com [40.107.243.40]) by imf25.hostedemail.com (Postfix) with ESMTP id 57EB9A0006 for ; Tue, 4 Feb 2025 22:52:50 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=UZbNZ4E7; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf25.hostedemail.com: domain of apopple@nvidia.com designates 40.107.243.40 as permitted sender) smtp.mailfrom=apopple@nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1738709570; a=rsa-sha256; cv=pass; b=crzvPQDBwNX9jGbzWLjzqUoHXvDIYCEnuQ67tktysCxfqu1VVqnku6hDYexRz5TI/jjVAC kU1WJKQgslIvWhZpS3OFOjcfM0BTrHdLnnKz1q50ivSJk3uDwNx04R0uZkilGth9A8Fa7Y SvdtDLKlOyFELPWF4Qpuu1OW67mR80k= ARC-Authentication-Results: i=2; imf25.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=UZbNZ4E7; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf25.hostedemail.com: domain of apopple@nvidia.com designates 40.107.243.40 as permitted sender) smtp.mailfrom=apopple@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=1738709570; 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=yXkq+VRsjFGVyXHjXeg0UxRWRB8xuQDaKrRvxEILRz8c/QiJXImo35bzffomxUHmcEqyxS /s8O5WDPul3CmGaBTq0P7CXN+ePK+Iu8pwmpH49oijwoMHp1TqPN4UebPNlRhlk0wlAB0C iNhWf3pDILj2026X/pDBCCW//v4a3/k= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=acdbjI+JlmyZHeF02C4EgbEEWvQzHeSFnFsI/UgF36voQprAum6tyqfaFqzCx3mze+XVQ9JcZYQk14NIFKTSwuOLXpMwCPbi9llZCgZyl16JcKEVRUQ4odpfe7KmPLGpXbh5hB9hPaW8met24muPQJgXmxTuRbolwKijcE3INXcMt56rG1V4ySWtoRylvs/JKoyVzsw6sqrR7jH+K19NztXnGdcA3Bn9vugDtv3MOaXBkCahnpIUVYS/v0RyD3aSpDr9Sa5KyjBTXxqTu0f5OZ4dyJi6hKAyn+VO2j18WK2NLZjdTaOJdYEslor+566SdelSNd5HwfV7jFKo85RJEQ== 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=E6/cmO1JniINZsmkCTgY9PSGvXMj/40PnY2HYP5M4g6LeTBDrMDopfkF1yc9w07csWd6vXHK3t4KQHHrFtAZUk9GQLuOb5kKZww05aTEbt8yPRO3fjXZ1ZmQChNoMjnZ84/aRdgbbEFHrX/QltvSDlQjNDYLN+Gn/L7nfhQS+ll+E0mONcDlXDQphZ7OIRDzv1FjV39p6quRecV/YsHk+DA4YSiTeYLARoQbj/YmDJD9MBMWTYQXxelx1r8CHwRk1yC5mhXNMX/gE2it9PDHCEYR9kztslvzsm6DQH+15nHoF7JZQZIDkMq/+E2la+MKNOUk71veRB17NZhMDkD8/w== 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=UZbNZ4E7KqfTxOmJlWnjvwU9jcNFD+MIHg5Fz1xQfwW7Pntoc+GbX+RFUw5vg4sZaKaz6VzxU8HcEXDAbhKgs3fU2DeSoDhWVS1feVWS7MI8qDATK3ycEaj7xE7FvPbTKCHrOCn1FSZqYU6jR5xjPSekvVmw5darkDZCgDbxhPMhm22ssp4Qc97XL6UloGUsTf+QFmvJTWYgagRneNTB24Bm6Ae0GQVYS74TsdNtFOaVCU4AAaJQc5C1X+FHz4o+c1JF7kxZvsNfnsz9hnMABUkVPY7YhN/vpIY14Cpwp0EDAA+8PJuEzaHU4diBpbi/QZtb8FWaGpmUSI/gruZleg== Received: from DS0PR12MB7726.namprd12.prod.outlook.com (2603:10b6:8:130::6) by CH3PR12MB9027.namprd12.prod.outlook.com (2603:10b6:610:120::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.25; Tue, 4 Feb 2025 22:50:09 +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.8398.025; Tue, 4 Feb 2025 22:50:09 +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 v7 18/20] dcssblk: Mark DAX broken, remove FS_DAX_LIMITED support Date: Wed, 5 Feb 2025 09:48:15 +1100 Message-ID: <229397bf27e565ed8dfc3832c4e57551fac86c90.1738709036.git-series.apopple@nvidia.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: References: X-ClientProxiedBy: SYBPR01CA0014.ausprd01.prod.outlook.com (2603:10c6:10::26) To DS0PR12MB7726.namprd12.prod.outlook.com (2603:10b6:8:130::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR12MB7726:EE_|CH3PR12MB9027:EE_ X-MS-Office365-Filtering-Correlation-Id: feca1f5b-63c2-4bb0-0e55-08dd456e468d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014; X-Microsoft-Antispam-Message-Info: gMOCCAj4fuTvXAmjSw8M3ggfwP/ubVnvhux/CvpKyojBBc3mNEMzgEyapyNeX/zrA++YUR6TweXr5YYFuuGkM1u7kpw1Z+v9YiZ18KWMbcJSsON7Qy0+L+DX2GRDfbrGz+salkk1wRRw4outIeccLkDV3X5H4/XOakiv2vb9l0U1K/JDC8TNtjmy8wgO4MFVTncEe97AgBOlfnQWW9lNqH9qdnqD4YzaEFnIv1+W6ZcJQ+JV0kV0zbYm7S8+VNwcUql1NNbNMweCJeIKtv1MHSQjL5ArCRCY/iRbfe4jFAmQ1qErUo8mw7/uoMjmPcwzbyMnqA9GVHyI6NDAIHUVbaIPr+Nk0NtgCm1ZhkXjxpvYWQjxkk9w29MJKLm91c/CZZ+J4SRW+0OCig3MyVfjxohCGKLBjPJ9OGO0hNP5cQiY8vowEVDvxNxD6pXsBUA81VcQJrforCKQZMtScJxGAMNYMwbOa2sLi6tKNYvTnJInUPxR2qy+Vr03s/Jg8zIjXOGInY6bqN8aKz7qGd5rw1y8D5upS5bykQSUMZcvxs99oq7Q5tKRzivkpLZF0z3y2a0VvP6glgZPXHrwCsnHgniMlJ8j9RIilA0ZdLF9CYffePabuFOsw72BD+QsuNIVfsgA0GpXmcPHVIQq/EE6lQ4vZvjAZt5422pFxw9EN0wBw66Cn3MMFm+Snln3Ujk6VAmBFoPMOuFhVk7Kiryof2Q63QgPfR2VDlWnfTf+zpTVS7VudEygNiFM7EnTP2GrMy20rAcTwYMeCv0aJAEXPbFYbItaof5cwzs+chJSVNxWExPG+gCfnfLhOKbjTV2EFAjnVTdvWWEQkdennR4r3XJpErnu3sanCJdqzOo1ATcZ+/tTYrTN413BpBIgex4I+AUcjvrGqSS8ly+zxtqQTPzBgYwEsEufn//8alFjnqn1bHFbJahrX4vYX2CaGxZDWE/ECCF+FErw1OHssVXYt8KCGyGtsUmK0uwXUtwFTFLX6+eUovwnXOcJv4tH8TmlqneEkrO/o/nfFvPb4HUyJksm7qTo8Q2ySiAg6j2SgKcQzRmDWXy79xfh6bVQviprCyWTJzzGHi8SYr5B6BL0gWvRVws9IGqUYkp0rKoy4mNrNM1Ry/IXqJwlnIAWFcoXKnRrG5EoEOFBwlQLmGgn2JLQIr/gVOEVITfHRn8xMOyDBYHHBCn/Rs2eWDFwZozXzesepyCMlz67Sy2pS25IlEOvAvpSPU+zBAwszghPaLuLK+3e75Q32i8EONhcTrTqM8t6moIp2Dg1Ki19Vsod9quQwt5oRW+5u3VXg2PrGScvIM7fYcpWD4DqWPHC1GNdjjuCv44pyDKPFOGUNiE70doeFG+uTenlWnAYAv3RZxXSMOyJH6FHwi2lIpOe2qMS 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)(366016)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: LMEnuwCrmGiliI4hsbYJHDwe92wbcNkdxuCOUD6gDQDd79wfdRACqHZat+zF4wgocSg0ozhDGdcNDZq/nFRIjya8hlZwCK/VAuv5RVDtRzX+ib0gUJK0w+1vKXS0yVeaCEs/9e2QF+CxNhqouKxUts0QIM5qLsRXFoX+QHqgg7tye1ox6E7QdLWHj7R39HL/FbgoIzpLqJ5t+Ule8MR6dewqNYHlnJYXF2fSHT6K+OflIG2VdDW/ShOcowIO+Gxji3hTXevh1AV90QAjH6JnSTDU6NTGDEKhMU9l7LCZrQLRy/WLnL0Ts3mJzNLd8votHzseF0XK3zIjTkzfdLCKW1/J6W3dNfeJWGrnxxodE+Fi7+0N8rFNDnDAsjImko3wzJuA6FFBXUBrzZq2hUJ8cipcSSuYhjUL5h9dhm9vb/HOcLeXhow5iurVmWYHOj0QV6672XVYpIgDcdLUwQvZeYS528ceAmSvaecqwZBeW/8ltD1v7WW1UgPYSqgOIue+4N0wgl6HbapeKHaEiWiCFoa20xG6qkDE1a2eGPM2SoBk23bahd1OU8SX6HXU/VioJ1jEYbRE8IT+RFssMCw95WUpLN5tGnib8XFc8ftOdYSAr1QgKsPuhkmAx2z0PTINf3V1avWThu1B+zqq3XY0RcvnuYGtjlpb13KlwqIbVWhXyHuHvkVq/6ZR8PM6ORspfWEmTNemJHSO9k7HUs36AhVGhhAoFPrCfwIJ5x71g42xckt3rGRYt3TPvLUg9lIIIXejVkz8dIlIQf8sHhYRnnI7/leApfotaD2wgI6PvLhlI2PgVXzAOvGugQZUFfVuWFHbgW0Ggw2j75rqNHF7MrGhV7xtZhj9GKxK2FDLHykkNpkHhjnu/PZm3kszhu8nDKL4MGCIhXXK6/yuZJBVbRpKGss60M93pSnPVixJoD7ow54Wz27eqf83yFtHIhEXcqdLJ4/AbUxm0EGEBLX5+MsqEeeR2C46twVWkvJgF2ZNSD33n0LLxjqRGDmkAC8oUEyvzGmU/z8gnal/wjNcyME6GoNoXxeNYmlO7WNyWN7NIJnqJh99FZVIpKqbZ0m6CNTfYyaKeEp+w04TJug9aXiNsAdBhhmqTv7cdEGdNtsUhTcNG/0/0q9tfVflKxyIvFwMnm6vG796G4SZdfWFN3XhSc1nKyRNLkbpXm5nyHiPhR/co0zP9FJmUq2XQ5rN5NkxzS4n0SIfRJ3ziNze4+PSWKOYK7+07lLA4jk5ClBMMSNjifPzyJnKgDv/OHWzrmS6gUE9p07Krz3goyxBsUerCemQFM71QN5APoV7NluiT6llYd2rY2Fag5kv6r3q1//eIhqrdEuJsNL+FYoXeV+7KZjf26P9buA60QjkhKQAUM41GjhRme9LBsQy7quxSBEzdNgoNHphJ9Ctl7nQ/kU1cis7n1ZmI1LYIOjWcpLHO7VqSMNqIRY+kwM+qv1GGwOzlcrDWYu2VBEkxynU87ay9nzTMJ8LGCpjEF794HQ6iLrxUyZHnaTh5KFkDPsp/+HaefAcc48nFDu8Gdd0cflr/2JP65BwpzV3u70yMByi0fplFe/WCs1pmfdCAuOE X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: feca1f5b-63c2-4bb0-0e55-08dd456e468d X-MS-Exchange-CrossTenant-AuthSource: DS0PR12MB7726.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2025 22:50:09.2273 (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: B9L9wyMf0dUYlAXPWr5LM0Gh//MwCpX2TA4rV4lxjmh+d+j0VOMFgVh/YhsipKLNZza+KEpcx5g5cRxn9ctXHw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9027 X-Rspam-User: X-Rspamd-Queue-Id: 57EB9A0006 X-Rspamd-Server: rspam10 X-Stat-Signature: yotkab9in6xhszyg9re5kop9ekxsmthp X-HE-Tag: 1738709570-28910 X-HE-Meta: U2FsdGVkX1+jXvAOkYX6trj9WroaPPMgPOvnrVexk522Oc5t4L8PpK+5eqo7Db0OggYegq5DNdHeISGcZTxjWvE/+OQOgIrLXxqYTtdXMwZdlNn7a5zOEs6PZvNPCvRNtV9G58Jssldh8hyhjon1Kr7r6DDUA7v5Gs4LkhWLfZpTOs3z1IQdA/RY3esHMEd7CCTtdtPF+z8FXWcodWND39dqqFpjQKtHmn3iuNI5sMhc2Pi9uumhCzbbSj4QZnrHiG59vcnteuUrVTaUEFm2Sb9GBfApzc1gw0bu/1djnRO/ZB2+bxNV/OmbAh3IBL5qQltL50a+3wH/LF/5Jxf8yg4FKbF34FcMD3CbXJRdgo6hhUE8HY1ZPqUB/PH5pXq8sKjpEb/e1MaTsYOduybPaBxPQg1my3gKO6ZOsHJUA3Hd1tMtS/MEav0Sdcv2cswcUJtdM0T3W1KVxTt1IXpx+d1TDIyo9r9dKshad1YBy49KV/f/6RvgQPx4xiwkh2ONUPm0Gg6kRE0vN58zxfzcLqK/LBP8hcGaP9f+IiaQo6npZn9hQwAn35jzvXUscID0fIPvvi/kBvVHw70O1zji6tujiyonGy97E7Inviwxwkv5o272nnP24v5YBjsULP6dygRrcgdBVjzX5cO/Xzbxon2CmJfRTd4/J7l039hIu+u3HnU9f7dBFCW4oMKQNuQy4IUyoDErX+VnpjqETSoTXbDBKBCALx8LZ40vbirR6iVl3vDSLVZApwxMNrMS4WrlE3v6MZ3oD3WkQbww8bD90oWZORXzNMIss603TQKWLWoK0Yn2xaN4GmN+Xfnfls3nmtOKmFAYThXER16iOto7yTCRUP6i9v+4IyzGGwycbL8SutNmeFDEy2u76IhZkIFnNz2mB/PkEouocLHJGmxxWsJHb+n8R6mGms4+Zn0tzT6fJhOkdrdWtn9zra8MLsUk8Z3R7zfsi0v+xG++jNv Apv/GMpr NfHFaQJ9fL1f/D/eaBTMrEn0zL+hSqmsA2Eu6dnEiyRUVynKrSxYOEJh72U4HlUwfkQGL2fv8vVN3ws63Ga19+M+LqqW7wn/o7NnSaRCVNaCT1jxEnce1Rb9RijrQ+DC5p48pBXndtR6QdAhs7GfHM6OSqwHUoetOuiL5xi4tcVufBs/HdRXyqo10wxQZsMb5eJysQcTklwcFLbRhEWAX1xJIDwJrXzAwt04+iQeeVaHXDRaOWYRGMQc0xwR8g43qhtcI1THx/xtM7bjFw1h6JaGusQjBKn7mf9OHXTA4PLSpd2bt5Lhy2xb+Zg5xp2PqKRUw3k3wOt5wqRDDLd1+CEz+GfXYtBfJ23DQXcW+PZXgwK97IxQvck9SAwzhGBo3XOcsbofF91tBQIO2SxO7awe+7n4UXJmnhI/JQqXfEtMa4djRpuWae7/MOtT3fdDSxqTxkYM0qGm5RFEM+DIHCB7pqRcljjkX+pBEg5oq2COMgvvpWPS03EpPEwHa5LUE3hFTM5HPfuH0wsJxrNcXQzFvXMnx5Oe1ROaBxnqgqTv1NsuQKA9geX8LFHfqiQXZDE3LvSBqGHjFEHIapVu7xTsIwdhO/bo9B7xHN0cK1thaBFY= 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; }