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 45AA9C7EE3A for ; Fri, 27 Jun 2025 02:41:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6E9D28D0002; Thu, 26 Jun 2025 22:41:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 69C5A8D0001; Thu, 26 Jun 2025 22:41:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5D7EF8D0002; Thu, 26 Jun 2025 22:41:11 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 4BB088D0001 for ; Thu, 26 Jun 2025 22:41:11 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id A82A2121F2E for ; Fri, 27 Jun 2025 02:41:10 +0000 (UTC) X-FDA: 83599628700.02.49E0BD1 Received: from out162-62-58-216.mail.qq.com (out162-62-58-216.mail.qq.com [162.62.58.216]) by imf22.hostedemail.com (Postfix) with ESMTP id 6F470C000E for ; Fri, 27 Jun 2025 02:41:06 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=qq.com header.s=s201512 header.b=AkWfkly9; spf=pass (imf22.hostedemail.com: domain of chentao325@qq.com designates 162.62.58.216 as permitted sender) smtp.mailfrom=chentao325@qq.com; dmarc=pass (policy=quarantine) header.from=qq.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750992068; 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=Pu0jA1GVRoKDx2l6du1YCcmFc4TR2c85F/Sld/qZPu4=; b=iBDKASDZT/q2LS4a54xT7qT/7Tj/fRQnBLccueQiPkNV+YbdbwBATZKb6rahnJfUePmQsk uihTZOCUovYUjm8pYvqTgX1U5ZUNF/5/4HrlNDzsyE/ed0ZQkFsaTPKKjr8OAYSjB+Hc96 oOwrQZSgaUVhfF59344kPkKD+Qkbdt0= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=qq.com header.s=s201512 header.b=AkWfkly9; spf=pass (imf22.hostedemail.com: domain of chentao325@qq.com designates 162.62.58.216 as permitted sender) smtp.mailfrom=chentao325@qq.com; dmarc=pass (policy=quarantine) header.from=qq.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750992068; a=rsa-sha256; cv=none; b=laihGYh+61lh5rTvu8mitO9Np1n+2EY16Guapy2fa9XrIYzGoYR8FKSa4DHNc2l+rWbOsf da2fSlZyWdCXNgYo5uRiswXuniVLLMFc8y542DY1nI/d9QGFKvaKAfEmL7WunhCgIeP24w 2tDOkKzR2e7llSD6P6GMA5BudG2PljA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1750992046; bh=Pu0jA1GVRoKDx2l6du1YCcmFc4TR2c85F/Sld/qZPu4=; h=Date:Subject:To:Cc:References:From:In-Reply-To; b=AkWfkly9bG08oWRKdq/HwUbzfNCMDsM0jBLX1JXvztr86CiVmE2NcexcUpGhUke6s tQyU7ZHDcYa2nEbef5BQwLZWShiDi0CWTixun0WyNKMCgHGZ/BWsCK5+O95/fV4XyJ Q3K/w+1/TUiSHw45h697dfEsUhXMfTTfj8V7Ntk0= Received: from [172.25.20.158] ([111.202.154.66]) by newxmesmtplogicsvrszb20-0.qq.com (NewEsmtp) with SMTP id A2A3B4EF; Fri, 27 Jun 2025 10:40:42 +0800 X-QQ-mid: xmsmtpt1750992042t5ouc00kx Message-ID: X-QQ-XMAILINFO: OIJV+wUmQOUAf2UFzEHsFZTqx+Kq6+t/DjOoALtts+bmxTDYe0aOhXVnuSwlBh IKwrkPpmAPshTmKQvzmwkCKcnTChguPERIY3OFEg0UHXTqoUrZRp2DDlAO+zFQL43ghY2PXedN0N v8yTrkQcBKQXpry/j0lTZgxTRyMAJ4il5YSrVQ49OOvk7MOOXLV05fMdiFvaAzTH/AyBkC/8onJx fGCrWZ6Kc1086A9ImQRn8VYJhRsJ2A0ajoWlmFyH/RMMrgB+du2d3S5ta6e1sIqRWANj6DaSBB/Z 0H9/sugRPpHBgWCYNx0zR4SZV+D9aVueby9w0rHO8uiZchZTQ55JEiGAU+zYCwUEnpO/WrQquPrS xNORxDZhqJvu3bpgFlZuUB2or5Lb138OPPBVk7ISqU7M9BBuVNhOAABrKgy88NMMi3v7RE5NmASd bsqw5KWSGbMh07yPp6WqG7AbWmS6f+8NMhKaGFBrzr8G31elIiLR0nBUI5Hq+4hzlmKOb4pJPYl4 K7dCql/f4y0YBj9NR4/zukyH8EbMDdqBMv5KWHeqTg0br5FOrW3Vf2cgQnlbgpeADTVolKDZCQXU YvFE7JYMY6cWF5Lbz2XGMTgX/PuvSTc7+VlaJ0KCKC36LdQIub3IYqgAYHlqka42BjVm+2rQnIcW drCOo/tZbyhVd3A9q9ehEgnJ7LRGMQngSn1TiWgra5iFlb6L2UAknqV687ygfwTjMMM6SFmyGzKf TJj38y0CFzTSxkhVcKswqdpAyGx5Iyv4ZIue+K43wEjB8Opss/jsbBlrwBU40X9Znabyx/nUnLfy 6cr3oIyu9m1nQZpc9UuJMwfrSU/V51GolaiyJW1CvRALeD6jxrTKx2ZYlVX/+QW67bN3K7D9FJCx Wdpk5o2c9KC/id7uBgDRKQXndyxAXpa2USSSOtHHe1iTSMZvWKw+fPK30Lh5vaJqcMkhQnSUsOFx rlUJPhp6v1cO2wygZAmvfIo/alad3u5jx2A2RXxVFTLQaz9X0RlA== X-QQ-XMRINFO: MSVp+SPm3vtS1Vd6Y4Mggwc= X-OQ-MSGID: <3753a0b7-fed3-4391-9fc4-fade83c89a34@qq.com> Date: Fri, 27 Jun 2025 10:40:41 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 3/5] fs: change write_begin/write_end interface to take struct kiocb * To: Christian Brauner , Matthew Wilcox Cc: =?UTF-8?B?6ZmI5rab5rabIFRhb3RhbyBDaGVu?= , "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" References: <20250624121149.2927-1-chentaotao@didiglobal.com> <20250624121149.2927-4-chentaotao@didiglobal.com> <20250625-erstklassig-stilvoll-273282f0dd1b@brauner> From: Chen Taotao In-Reply-To: <20250625-erstklassig-stilvoll-273282f0dd1b@brauner> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 6F470C000E X-Stat-Signature: 9dc56tf5aa7on7yiap31pffx8jm819oy X-Rspam-User: X-HE-Tag: 1750992066-704635 X-HE-Meta: U2FsdGVkX19bA3xtsXEJLIuDZq4m7DEFWMBI0Xcc2F6FfBzaoo7mGERSaNucwHSoedkbZIht5tf8MnLFayTnd71C1WI6TPZsuhml44fiCKX/YuyZ8Aw/u6gamPAMwIcrm6JcwxpS4oUlaccF7g12E9tAPQnywk+9EeYi4f08pbIyK/eC8j4mjxCgLRVoCUCERImDMx3cxFERLQtCm3xcy36K2FwasLKBqTbhMdtjwH+v2yYbI0fHXI6NSKmeZHqzUj31ewnnXrJuXE6X5mNG5nT/9XYDZgY44mvOYG29wQTsHGayTXQ3sBrBnAah/+r+dbpn00KZjumHnUn/aH0to6Xd+qQSS6XVeU34G/LO0Jm/1TY0Sw5dO60le2i7otZbxSa9CfhykTE92NzxDscJZSwW21Ef/xwX51R3tc/DiPUkcN7PBoxRrkeVYncNlOIARvX8QLPUq8+sdgosme7I3t6f31n6lzRcRPiwx8cPd+CfmLoUC8rrwvqzE552c98Sg01pmQtVGzHgAPJpAACuzOH5NP0Z5eOGSLGlYGgZJttHZNLWXXe1KWbJfMukbI1BcT1l1caY0pS1DMS/mi7XtAoctr0KueYPXrdIKycOYeEXbK7eflGJeBSraC+ATnoHyWW9//lmhIQ6jNLNliQHxouhTrHzuwZnon3SGCx5SMN1MHZnit5lSQt3DBgfIWarJ8fdXnkOw4ZnHtZW1vH2btFYL+7jVpgeJZf4eLcKFxd6d1ZJOXtQR3cyg5/L5XSlboTpn6SIbPGYWSuGLe7n/egJKtDEGQKnCslpza4kgqnhs+GU60v3YdpQV04z7zelvG5A1XqF8yPUKOUfrmguvAMP64Qj4WL0ihq2bCaip6mW2W4f1RDYVsb05bJJ6tDJGzUaZdU835m2Bc3KkKcbNxZr9A3o4VO4wzE40G3iH2rjVfEjy4nZocAwbD+3JKcXrtDQOHkHYuT43VsnrvB dMD9gfMf HtTLIRB93do8kpYld/yKYFLTjdvWzlQLnv70sSi+3zx1qyLpxM0gqRPe4KCT2Xg2wvbzKWJTSMV41H2QD2dKCKAtpEHafoC8TfhePojl4tkcY++OupHCIFQujjQV1dB8xgCbIgnfZBdhyi+tZlXdOX6JAl9VT8Qmj9Zpu8tnIGqu8umx10rmB3NpMatJaYHC61FhCA1H3k8qGoA5PJNWRg1emBjIT+gFP1Gxko7WSaryxtG/bRtmqC/a1jW3uLsOFLRfk20wkpOGY4Wdm9Wu3GuTTDrceoaqP6mH9OAyuNkHytH8vZf5WiQqwRZDO/V9i9wIBKKFOtDNNcumjCbDJdzd7jQg5dQ3utoZ/EQYUb0vBkRLONcEDwW1OxGNTMwFMvHG9QfRmctYDiPklKpK1LDpPnDn7tgx9vjBcR28ZFtXm38T6wBX3KFOjVWtEcjN+juwt41ppFl0cnK1Xoumr6GQeiIK+wKJW6ejPL/YVo2JP6tmSrkGYSTGLbA== 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: 在 2025/6/25 16:04, Christian Brauner 写道: > 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? Sure, I’ll update the series on top of vfs-6.17.misc and resend it as soon as possible. Best regards, Taotao Chen