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 AD68EC7115C for ; Wed, 25 Jun 2025 08:04:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 465908D0002; Wed, 25 Jun 2025 04:04:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4155C8D0001; Wed, 25 Jun 2025 04:04:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2901D8D0002; Wed, 25 Jun 2025 04:04:33 -0400 (EDT) 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 0B2678D0001 for ; Wed, 25 Jun 2025 04:04:33 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 9EB23C1A15 for ; Wed, 25 Jun 2025 08:04:32 +0000 (UTC) X-FDA: 83593185984.14.8B2056A Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by imf02.hostedemail.com (Postfix) with ESMTP id BF03380007 for ; Wed, 25 Jun 2025 08:04:30 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=iH1n489F; spf=pass (imf02.hostedemail.com: domain of brauner@kernel.org designates 172.234.252.31 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=1750838671; 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=BaQoMeJ5QguccbkliTTzP3A8jhIFklYjeN8YdeIXEKs=; b=KUSf/eTJQwYwnUr3NDHUYHhmdsOQk/ESB9pZf+4DfZhdjEnIfY4TSw5vFMhrsmMO6SwSI+ jNDX/ZjUx7dfyGcJJUqvSEbO1sphN9LJCMwLGa69lDz5t5PUdA40A5v1cm6R55JnPouSME gIayyOpn44LyWFD1TrQn9umjIneH/q0= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750838671; a=rsa-sha256; cv=none; b=Vh2lxG386xMJZGFa54p/2a0NoVqhvy8DlGR9LiSjHdnqlJZ0MvUFcZyMZXidsc9lPa4gCp 22nm++d5rpG5uewCdBBz0G8K+w/MbXxwRvtddfSzMB6zN0ALZpei8gMi9yV0uFRnTEbkmg WRhv51+eqQjWanoHY6epRwwKUtWc3HM= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=iH1n489F; spf=pass (imf02.hostedemail.com: domain of brauner@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=brauner@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 5C29543974; Wed, 25 Jun 2025 08:04:29 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 24A09C4CEEA; Wed, 25 Jun 2025 08:04:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1750838669; bh=33Db58Zgs1Us82FoEGQ+AOZm9l1WltZ90kNW2vjvy6c=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=iH1n489FRT/VUDCzbZstkBsRFo5c8F/QxvDELXrmnB0il6WHte0vIcyu5rPE+DJtw Cxj+2D7s/QNd1hV2OSvnvUCYXs9f+HD2SqK0g+PiI1SvSgeqDm9nok2idfvm+VXf06 4OdwhvFB5kpZfqgJ+GdVYC2Ml0cj3Q56rUKQw4+RYwzv1PVFnVnNCqPmZRn6zEJ4My P7N7u+Xh82fg35P2Nz7WEIWKCtFSLfnHs513dkhYS7po6+vuc+GxIDdMOYuSQg1QQL OCxmz9soe8yvYONFgmprZloT7OqCjIdaLjJriPpYTxtdDX02YuE5PBV9CLKzDU5KrF x8SDdin5EAkhg== Date: Wed, 25 Jun 2025 10:04:22 +0200 From: Christian Brauner To: Matthew Wilcox Cc: =?utf-8?B?6ZmI5rab5rab?= Taotao Chen , "tytso@mit.edu" , "hch@infradead.org" , "adilger.kernel@dilger.ca" , "jani.nikula@linux.intel.com" , "rodrigo.vivi@intel.com" , "tursulin@ursulin.net" , "airlied@gmail.com" , "linux-fsdevel@vger.kernel.org" , "linux-ext4@vger.kernel.org" , "linux-block@vger.kernel.org" , "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" , "linux-mm@kvack.org" , "linux-doc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "chentao325@qq.com" Subject: Re: [PATCH v2 3/5] fs: change write_begin/write_end interface to take struct kiocb * Message-ID: <20250625-erstklassig-stilvoll-273282f0dd1b@brauner> References: <20250624121149.2927-1-chentaotao@didiglobal.com> <20250624121149.2927-4-chentaotao@didiglobal.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspamd-Queue-Id: BF03380007 X-Rspam-User: X-Rspamd-Server: rspam06 X-Stat-Signature: 15zmn5w161cipamxyz5kkgkk4ceuy444 X-HE-Tag: 1750838670-600152 X-HE-Meta: U2FsdGVkX19Xa2++Yn5lfMP7iuoJe7doQhzyj+UpEpixO+HOoXRuxIjzydxjLZJYDYtnvTTTgDNfxhABjWxM0+M1EicSGT2BCDGmupvmJUtfJoYNMHUWkw+L0IceNxlEaarCkKn9+qjhZEmnqa3npgyVCveTuqcgjH2eyH5700zEk7YVjHXwe4EjUFUWwa5kx9KzBVsMYppNS6sqRzYBP9epzvIHc2PL3Rd8H9Ku4yp+eOZdWvOh+tWZoAR1IqJXWMcBVluExydIFunLsLVHaPxOHiHHlBhzzGm9YGQ3CG4w8N9gza1yKnei9sCNuqldPz54hy3iQXtvslQJQ+i1ozlI8OSnQlyWRIvgUzb5VQ1JEaos30nmnP4P50+6yPiYdbGo29PMefTbG4Au8XbevYxEfvSXatEfwfVz86WxgjGrnokLRrTfHd5AvQ3Bfc5dwkrJXN2yuGpa2t+q5Cqr4wC12v/1cQ0oYbpq/1QqbfAN20tkmdadV3X/rWyDW8OvTAGYpdRla82D0KiSSuF/ckA9dbc0dSKo+S9ge5gRbqM0DoegsItczirRs33/BHNiMLMGuc74Ea9pxJW+RMwt9PJAcLD7545/Jj0FFcTMYQnfcJxOHL+kOtgKuUyLGRSU7t8gyvXwpwICnkDMLGEG6v+lMBj5PUpfeXsPR4raEPjnGdH9+BZdSVwGDevrsIazfk3h+WVcKy8Y7DHzAolZGdz7ZY659ySeiq5wxkeb9Yq1J9HkPGaCKRdTUs0VvI0UXtBiHAl3yc3KOxVXEFQhJ8kQprn1yVNwJMXefvOI6yZBkPCYnxNI6szTlLTwzevtDp9xKmYno1AwbVMNW9nWM/kgIJOdPYmxAVisICProR5LzkJQdTwfxGgE/aF/bPvpFWN6yUsJdbBLktuD01FRcV/JVp3baYoW5jzDidV5GhNWC9qoMireNinkkhxzz7EK92RxxTGu7mbO1JgXilI +gB3nPzR ilS5TcD7XOLBcyYOaZP/C9P+tpDriX5KPSWeh/b7FMIH/0aeD5FBWR/yN/DSO/tJE0QBOls345DktSbROHb7GewKw6iu3BmRkSq4yVQKRl4jO2665xbBTSAhlfC8joQoc2RE29i59WoetT+JaT69Yzd20SXxyjww33n/Id12rtk+naf9e1jVcdIXjfSwGkrbSP8A5LW9r5UhhawadgQb+obiBI1j+PXN0Uc7G8qgSBmwnTW3G5bo53e6Zd0XJ9f96042e1ZHOpARmMoqyddVQaUJ2FMNebr0PVaGtXIG0A34Q3BEr0bY/adBU2kJ6gggUprh5vAuC1SN2IxsQZH1aWm5uXVSCInwd3UsYYhTba5e2HLe2AHTUgtCA6mUvMDj3y4uOq7aPpiXJFFl3b/UczjZ9c2wwEOjA/oy+ 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 24, 2025 at 01:51:51PM +0100, Matthew Wilcox wrote: > On Tue, Jun 24, 2025 at 12:12:08PM +0000, 陈涛涛 Taotao Chen wrote: > > -static int blkdev_write_end(struct file *file, struct address_space *mapping, > > +static int blkdev_write_end(struct kiocb *iocb, struct address_space *mapping, > > loff_t pos, unsigned len, unsigned copied, struct folio *folio, > > void *fsdata) > > { > > int ret; > > - ret = block_write_end(file, mapping, pos, len, copied, folio, fsdata); > > + ret = block_write_end(iocb->ki_filp, mapping, pos, len, copied, folio, fsdata); > > ... huh. I thought block_write_end() had to have the same prototype as > ->write_end because it was used by some filesystems as the ->write_end. > I see that's not true (any more?). Maybe I was confused with > generic_write_end(). Anyway, block_write_end() doesn't use it's file > argument, and never will, so we can just remove it. > > > +++ b/include/linux/fs.h > > @@ -446,10 +446,10 @@ struct address_space_operations { > > > > void (*readahead)(struct readahead_control *); > > > > - int (*write_begin)(struct file *, struct address_space *mapping, > > + int (*write_begin)(struct kiocb *, struct address_space *mapping, > > loff_t pos, unsigned len, > > struct folio **foliop, void **fsdata); > > - int (*write_end)(struct file *, struct address_space *mapping, > > + int (*write_end)(struct kiocb *, struct address_space *mapping, > > loff_t pos, unsigned len, unsigned copied, > > struct folio *folio, void *fsdata); > > Should we make this a 'const struct kiocb *'? I don't see a need for > filesystems to be allowed to modify the kiocb in future, but perhaps > other people have different opinions. Given I picked up Willy's change I'll wait for a resubmit of this series on top of vfs-6.17.misc unless I hear otherwise?