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 E4A18C71157 for ; Tue, 17 Jun 2025 11:57:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 831916B0092; Tue, 17 Jun 2025 07:57:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 808CF6B0095; Tue, 17 Jun 2025 07:57:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 721BA6B0098; Tue, 17 Jun 2025 07:57:46 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 59AE16B0092 for ; Tue, 17 Jun 2025 07:57:46 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 112C6B627F for ; Tue, 17 Jun 2025 11:57:46 +0000 (UTC) X-FDA: 83564743332.15.EA95B7F Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf21.hostedemail.com (Postfix) with ESMTP id 0A2971C0009; Tue, 17 Jun 2025 11:57:43 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ANNRMLSM; spf=pass (imf21.hostedemail.com: domain of brauner@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=brauner@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750161464; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=m/RRUe7oOlBQaMrRU0yW5gAkiYkQQmiPrVoU6uzcycQ=; b=HYBrGcU8868ZlNJHE1K9zoEDXaY1aZjMAM45ZxzJHo7YyoAQKlj+NJS1V/yARboURlqZBp u1HnW2yfViv8gJ0fmt6z24+AFrznPgs19Mm/GrzxtB7ouw7aVEGeg01ssEAJ/dJuKbf5YU 571Q3HYEXUTpPuTa4yi5Gadmv0eVpAE= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ANNRMLSM; spf=pass (imf21.hostedemail.com: domain of brauner@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=brauner@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750161464; a=rsa-sha256; cv=none; b=8ktroT9IqZmVhJ/EnFGhSRH04XrmlZ7TVc9NFfljW5db8mRFXNKXdnfLYp7daDqEkJ1+0A wQAV3T6sLzusB+fc0qFyuAEaUUAbuGy09T3/mkJlzZfD+7MBN7Y8w0hYlRz6TLFyj3vJZo rRC+S4+WM3mvy7i9oDq0bIsVIpSharo= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 81BE95C3AD7; Tue, 17 Jun 2025 11:55:26 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8EC2DC4CEE3; Tue, 17 Jun 2025 11:57:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1750161462; bh=T+hj+yayJhfzqGA9kWHW1UQw8dsCOqK3Vx6p1g+lWhs=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=ANNRMLSMbFJxF0/0JcpxGnRgNC2cM3iQk05j0kIN5dUOf6a+6FhzXEhCV9tljSO6h v2e3uV6HAxpTWa31kRKsnVAXQkLyFD1xYm1QZjMvIFL3ouF6AXeudY39YUcGZrolsh RyM2TZ/EQMyqQ6Y6s4GUWKP0gK9gINzD7L4jwsfBCJ1suak/ya3jB5me4TnYO/YFrF BrbHmvsabgMYM9Mbit9yWCy+NDOo9GjZfXkkWr9NdZCIoi7MIoTDvDFU7neHyJvL+Q sCBOLJVwQyL5L44PlP9UgERzG7VA2X0BjHsxmPcW0plFtm6qxZnaOBFYXof6KFwTQp Bv2/tmMRJtG5w== Date: Tue, 17 Jun 2025 13:57:17 +0200 From: Christian Brauner To: Jan Kara Cc: Lorenzo Stoakes , Andrew Morton , "Liam R . Howlett" , Jens Axboe , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Simona Vetter , Eric Van Hensbergen , Latchesar Ionkov , Dominique Martinet , Christian Schoenebeck , David Sterba , David Howells , Marc Dionne , Alexander Viro , Benjamin LaHaise , Miklos Szeredi , Amir Goldstein , Kent Overstreet , "Tigran A . Aivazian" , Kees Cook , Chris Mason , Josef Bacik , Xiubo Li , Ilya Dryomov , Jan Harkes , coda@cs.cmu.edu, Tyler Hicks , Gao Xiang , Chao Yu , Yue Hu , Jeffle Xu , Sandeep Dhavale , Hongbo Li , Namjae Jeon , Sungjong Seo , Yuezhang Mo , Theodore Ts'o , Andreas Dilger , Jaegeuk Kim , OGAWA Hirofumi , Viacheslav Dubeyko , John Paul Adrian Glaubitz , Yangtao Li , Richard Weinberger , Anton Ivanov , Johannes Berg , Mikulas Patocka , David Woodhouse , Dave Kleikamp , Trond Myklebust , Anna Schumaker , Ryusuke Konishi , Konstantin Komarov , Mark Fasheh , Joel Becker , Joseph Qi , Bob Copeland , Mike Marshall , Martin Brandenburg , Steve French , Paulo Alcantara , Ronnie Sahlberg , Shyam Prasad N , Tom Talpey , Bharath SM , Zhihao Cheng , Hans de Goede , Carlos Maiolino , Damien Le Moal , Naohiro Aota , Johannes Thumshirn , Dan Williams , Matthew Wilcox , Vlastimil Babka , Jann Horn , Pedro Falcato , linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, v9fs@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-afs@lists.infradead.org, linux-aio@kvack.org, linux-unionfs@vger.kernel.org, linux-bcachefs@vger.kernel.org, linux-mm@kvack.org, linux-btrfs@vger.kernel.org, ceph-devel@vger.kernel.org, codalist@coda.cs.cmu.edu, ecryptfs@vger.kernel.org, linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-um@lists.infradead.org, linux-mtd@lists.infradead.org, jfs-discussion@lists.sourceforge.net, linux-nfs@vger.kernel.org, linux-nilfs@vger.kernel.org, ntfs3@lists.linux.dev, ocfs2-devel@lists.linux.dev, linux-karma-devel@lists.sourceforge.net, devel@lists.orangefs.org, linux-cifs@vger.kernel.org, samba-technical@lists.samba.org, linux-xfs@vger.kernel.org, nvdimm@lists.linux.dev Subject: Re: [PATCH 10/10] fs: replace mmap hook with .mmap_prepare for simple mappings Message-ID: <20250617-karibus-abgrenzen-e534b9acd4c7@brauner> References: <6nktgdc7ygt6hncfnl33d2jlwvlydspiiklwf6oxiqxxcjhzs2@j6f36ktyv774> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <6nktgdc7ygt6hncfnl33d2jlwvlydspiiklwf6oxiqxxcjhzs2@j6f36ktyv774> X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 0A2971C0009 X-Stat-Signature: dseibmw7x35hswze5a386euou6oxmpst X-Rspam-User: X-HE-Tag: 1750161463-877829 X-HE-Meta: U2FsdGVkX18GCnEhfYlbzk632/kPXPAXBqlLMFeDFXAiHOcRpFg5cJ/z5mKfhQrIr3rIWhW/j6da+dBOWeBl6NJiw4XlK3noM9IH7H4xe3dUDk2wLQayeKUIYwQjhKox4jhhqY+gOcgumUXfIGs9K3BfgjWjvfVzKemYRn4lSlacH+Yo+VTjEUiMkjLvyIR8Bn9im4Mj1cZO46i+tU+4PbUA1FPlSc5HRyc4hL8J5C3EBJn8ejbuD90CpL4D7hK/5YQH/VWEsR2sBu77vvBO4rcz9sADjkAWsRZS+gB0D04jTgStyf9AM9STLycniK7DDKSocuXmkvTPB3rJqOi85p3FokMFULj/0iDqSbMy8J/TGW75iccVSkO0aMLxzF2fPcmrSuYWCHFYXULkO3w3GQpQlJ895lhAGD1+AJeSklhWEmFGwqx4UmkmfevsEdjJtiiKGwA3YdJiVvYpugMVPK9+GVCKdrvpAlZWLwHspLuSQxsdghJq7hOFTOw1iEL0GqMZ5+dWXLoUPqdMOIER4xKOjDQzqLx/cmLuwPN1LYZFA7kv/EUrM9tMC1Ferpj2T314RqmqmQnHBRtVTOoQi0/eupZE0CduwWo5AacJXTvDsrTFWkSWTlqgFGMgeJEvWt1MlCugNPlsahdYwMFxZVJ0KsFCCoVjNs99OLT6mM16K0jk6SccA7VLXDKuhRi2Qi3/Nt/xiDolm01ndtWjzSU8VcJwWu9FKprznbNjCBCwnB2ZSicSrGqUFYH4bqODiXzNrFwDwVKkuLgSjggxG82axVIFva4nyIEZrO29uEGe865l3xR0GCWVJatF/juVd2uEaLlIPY1mretbcQyge/MUFCU+XA23OAlSPJ02jK/7swapwR8/0VjCHWv49FvvoVfQ8S4AIrGVS9nQczYJjBVaiW7dq2BLOsbfakHoVMZCBwYQSxaoHNJHNS+QWOwAToRctvO5F9N3IeWL0Sn IfYfzVVI 5bmsZ8kC02TiJZEnkCvdqA6j0EWPumI9SEmP3Gb0JOmXXLPe+RMuEvPQ8Pzam3+nzcix8xceUQYXPojaZG0dLmw0UPN+el7vgIHoXvdF7lycfh5zhwpwKEpq0wA== 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 Tue, Jun 17, 2025 at 12:28:17PM +0200, Jan Kara wrote: > On Mon 16-06-25 20:33:29, Lorenzo Stoakes wrote: > > Since commit c84bf6dd2b83 ("mm: introduce new .mmap_prepare() file > > callback"), the f_op->mmap() hook has been deprecated in favour of > > f_op->mmap_prepare(). > > > > This callback is invoked in the mmap() logic far earlier, so error handling > > can be performed more safely without complicated and bug-prone state > > unwinding required should an error arise. > > > > This hook also avoids passing a pointer to a not-yet-correctly-established > > VMA avoiding any issues with referencing this data structure. > > > > It rather provides a pointer to the new struct vm_area_desc descriptor type > > which contains all required state and allows easy setting of required > > parameters without any consideration needing to be paid to locking or > > reference counts. > > > > Note that nested filesystems like overlayfs are compatible with an > > .mmap_prepare() callback since commit bb666b7c2707 ("mm: add mmap_prepare() > > compatibility layer for nested file systems"). > > > > In this patch we apply this change to file systems with relatively simple > > mmap() hook logic - exfat, ceph, f2fs, bcachefs, zonefs, btrfs, ocfs2, > > orangefs, nilfs2, romfs, ramfs and aio. > > > > Signed-off-by: Lorenzo Stoakes > > Two small nits below. Otherwise feel free to add: > > Reviewed-by: Jan Kara > > > diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c > > index 60a621b00c65..37522137c380 100644 > > --- a/fs/ceph/addr.c > > +++ b/fs/ceph/addr.c > > @@ -2330,13 +2330,14 @@ static const struct vm_operations_struct ceph_vmops = { > > .page_mkwrite = ceph_page_mkwrite, > > }; > > > > -int ceph_mmap(struct file *file, struct vm_area_struct *vma) > > +int ceph_mmap_prepare(struct vm_area_desc *desc) > > { > > + struct file *file = desc->file; > > struct address_space *mapping = file->f_mapping; > > Pointless local variable here... Agreed, fixed in-tree. > > -static int exfat_file_mmap(struct file *file, struct vm_area_struct *vma) > > +static int exfat_file_mmap_prepare(struct vm_area_desc *desc) > > { > > + struct file *file = desc->file; > > Missing empty line here. Fixed in-tree.