{"id":2215722,"url":"http://patchwork.ozlabs.org/api/patches/2215722/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-ext4/patch/20260325072850.3997161-3-yi.zhang@huaweicloud.com/","project":{"id":8,"url":"http://patchwork.ozlabs.org/api/projects/8/?format=json","name":"Linux ext4 filesystem development","link_name":"linux-ext4","list_id":"linux-ext4.vger.kernel.org","list_email":"linux-ext4@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260325072850.3997161-3-yi.zhang@huaweicloud.com>","list_archive_url":null,"date":"2026-03-25T07:28:41","name":"[v2,02/10] ext4: ext4_block_truncate_page() returns zeroed length on success","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"2dd9edab9c055a9a951d983f3b490a8f8c476e1a","submitter":{"id":85428,"url":"http://patchwork.ozlabs.org/api/people/85428/?format=json","name":"Zhang Yi","email":"yi.zhang@huaweicloud.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-ext4/patch/20260325072850.3997161-3-yi.zhang@huaweicloud.com/mbox/","series":[{"id":497391,"url":"http://patchwork.ozlabs.org/api/series/497391/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-ext4/list/?series=497391","date":"2026-03-25T07:28:44","name":"ext4: refactor partial block zero-out for iomap conversion","version":2,"mbox":"http://patchwork.ozlabs.org/series/497391/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2215722/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2215722/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <SRS0=ue4y=BZ=vger.kernel.org=linux-ext4+bounces-15330-patchwork-incoming=ozlabs.org@ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-ext4@vger.kernel.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","patchwork-incoming@ozlabs.org"],"Authentication-Results":["legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=ozlabs.org\n (client-ip=2404:9400:2221:ea00::3; helo=mail.ozlabs.org;\n envelope-from=srs0=ue4y=bz=vger.kernel.org=linux-ext4+bounces-15330-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)","gandalf.ozlabs.org;\n arc=pass smtp.remote-ip=172.234.253.10 arc.chain=subspace.kernel.org","gandalf.ozlabs.org;\n dmarc=none (p=none dis=none) header.from=huaweicloud.com","gandalf.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15330-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org)","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=45.249.212.56","smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=huaweicloud.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=huaweicloud.com"],"Received":["from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fgdxv34GNz1y1G\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 25 Mar 2026 18:36:19 +1100 (AEDT)","from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4fgdxv2Htnz4wCG\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 25 Mar 2026 18:36:19 +1100 (AEDT)","by gandalf.ozlabs.org (Postfix)\n\tid 4fgdxv1nr9z4wF0; Wed, 25 Mar 2026 18:36:19 +1100 (AEDT)","from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby gandalf.ozlabs.org (Postfix) with ESMTPS id 4fgdxq5nlCz4wCG\n\tfor <patchwork-incoming@ozlabs.org>; Wed, 25 Mar 2026 18:36:15 +1100 (AEDT)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id B011B3092AFE\n\tfor <patchwork-incoming@ozlabs.org>; Wed, 25 Mar 2026 07:34:17 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 19BF436828B;\n\tWed, 25 Mar 2026 07:33:49 +0000 (UTC)","from dggsgout12.his.huawei.com (dggsgout12.his.huawei.com\n [45.249.212.56])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 993EA27AC4C;\n\tWed, 25 Mar 2026 07:33:46 +0000 (UTC)","from mail.maildlp.com (unknown [172.19.163.198])\n\tby dggsgout12.his.huawei.com (SkyGuard) with ESMTPS id 4fgdt46mQTzKHMYn;\n\tWed, 25 Mar 2026 15:33:00 +0800 (CST)","from mail02.huawei.com (unknown [10.116.40.112])\n\tby mail.maildlp.com (Postfix) with ESMTP id 4876740575;\n\tWed, 25 Mar 2026 15:33:39 +0800 (CST)","from huaweicloud.com (unknown [10.50.85.155])\n\tby APP1 (Coremail) with SMTP id cCh0CgAHC9vFj8NpuR6cCA--.49898S6;\n\tWed, 25 Mar 2026 15:33:39 +0800 (CST)"],"ARC-Seal":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707; t=1774424179; cv=pass;\n\tb=AyVDzynLfaiOwFJGk/4FtmCUp9K2jbnsd1RvZ9U4ZUxofjWlx7c1PhWN0EXKDgnLVK7ge7cCCL04dzz32dCBA1skj3vx8mDzAmnZ/RbbvZcyzD8TOZbZSN9Swmvy822E/lRWjYd0zgAfu6Nc+gAY+4+I4WFv8C2H9mGUvapXPv9Mg0ui4ozvKaYgulDzRHfQ53kh+72aS+sVtBC9zQPiJ3pn+IHGXsAdzu5RiFXvT12aJ9BO84zPyqSLDco2K/ifxZFAX8iEShsfs5RXwaikvYyTP7azf332EaigaP5ZTii2pL6gJVPvCQyPVTCTcD0F3YjonXzLhjwdZP6PjC5btA==","i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1774424028; cv=none;\n b=iidLM3eQbM/kBJHnjdwOs26yiGb0zZu53qecSu9IWYDcMMi7A5j4KQkWuZP3jUCJucXiESlsOripqJoTCZN8GHDjBti1H7GgegyIJ5TWu2pzSHnZByk6nGObBIEogiAulIE/3YZyh6YhJLwIrja43gSetzQYMeBBJCOxIpB6IiU="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707;\n\tt=1774424179; c=relaxed/relaxed;\n\tbh=BZdF29Cbt8meYjGNLSW6Xjg5edBW169SkWdPPXdjLgo=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=f/Ul1/9xgPbLdRac5gp9ZlpeIDxQGDXC3WwDK0R3WhKZYc8nhYrsE9+Er/+i3SdNyFiEh8UKpHOMr7umMv/YLa+ybLSihMpq47/7e6OPVl2UlQERwM4QEmYU7ByaLgOpgPOarE+zsAlIkzWBczwlWviwY/XR2V8WGWeEzSEfXmWQ5JzKZN0fMwyD9GMIQvFal75ukJhfZ91WvBbOippYpm7hag5VQFHCTfiXAhpxkMIMi6mLx2RxXlskaZ7nG8nSYmZvWevdr1GBOOxyMuyQxzzupQTXpDR4pI08Ze3+7Y/pq/Keb+S4eChQiNV37eW1KyyC8Sdhxk4nO5NHLEIQVg==","i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1774424028; c=relaxed/simple;\n\tbh=KKd39nSq2/Q+ECUd1egjak+o/qKi+d5in9fXewxY3bc=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=kQzHJrPcr/RSQpn7PgKZ1uF5Nbg2AT48RpTbP+BmvkrINhLxZMX3G95/RyLOnPMIhADVRfPopu9QXgSB1Hr5UQ+1C/qDVuR4oiLYWxeExyiMk3t3nIk2sy1gqtEbV5z9j2puaVxz3JmQJMJhb1jotvUDlVfNW9pht79b3Y6lqe0="],"ARC-Authentication-Results":["i=2; gandalf.ozlabs.org;\n dmarc=none (p=none dis=none) header.from=huaweicloud.com;\n spf=pass (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15330-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org) smtp.mailfrom=vger.kernel.org","i=1; smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=huaweicloud.com;\n spf=pass smtp.mailfrom=huaweicloud.com; arc=none smtp.client-ip=45.249.212.56"],"From":"Zhang Yi <yi.zhang@huaweicloud.com>","To":"linux-ext4@vger.kernel.org","Cc":"linux-fsdevel@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org,\n\ttytso@mit.edu,\n\tadilger.kernel@dilger.ca,\n\tjack@suse.cz,\n\tojaswin@linux.ibm.com,\n\tritesh.list@gmail.com,\n\tlibaokun@linux.alibaba.com,\n\tyi.zhang@huawei.com,\n\tyi.zhang@huaweicloud.com,\n\tyizhang089@gmail.com,\n\tyangerkun@huawei.com,\n\tyukuai@fnnas.com","Subject":"[PATCH v2 02/10] ext4: ext4_block_truncate_page() returns zeroed\n length on success","Date":"Wed, 25 Mar 2026 15:28:41 +0800","Message-ID":"<20260325072850.3997161-3-yi.zhang@huaweicloud.com>","X-Mailer":"git-send-email 2.52.0","In-Reply-To":"<20260325072850.3997161-1-yi.zhang@huaweicloud.com>","References":"<20260325072850.3997161-1-yi.zhang@huaweicloud.com>","Precedence":"bulk","X-Mailing-List":"linux-ext4@vger.kernel.org","List-Id":"<linux-ext4.vger.kernel.org>","List-Subscribe":"<mailto:linux-ext4+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-ext4+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-CM-TRANSID":"cCh0CgAHC9vFj8NpuR6cCA--.49898S6","X-Coremail-Antispam":"1UD129KBjvJXoWxJrWrXFW3Jw4xWFyUWF1xZrb_yoW8AFykpr\n\t98K3yrGr4Dua4q9an29F1aqr1ak3WfGFW8Way7K34Y934fXF1xKF93KF1Fva1jqrWxXayj\n\tqF45tFWa9w17A3DanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2\n\t9KBjDU0xBIdaVrnRJUUUm014x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0\n\trVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_Jryl82xGYIkIc2\n\tx26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0\n\tY4vE2Ix0cI8IcVAFwI0_tr0E3s1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F4UJw\n\tA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0oVCq3wAS\n\t0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7IYx2\n\tIY67AKxVWUGVWUXwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0\n\tY48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwACI402YVCY1x02628vn2kIc2\n\txKxwCY1x0262kKe7AKxVWUtVW8ZwCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWU\n\tJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67\n\tkF1VAFwI0_Jw0_GFylIxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY\n\t6xIIjxv20xvEc7CjxVAFwI0_Gr0_Cr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0x\n\tvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVj\n\tvjDU0xZFpf9x0JUADGOUUUUU=","X-CM-SenderInfo":"d1lo6xhdqjqx5xdzvxpfor3voofrz/","X-Spam-Status":"No, score=-1.1 required=5.0 tests=ARC_SIGNED,ARC_VALID,\n\tDMARC_MISSING,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,\n\tSPF_HELO_NONE,SPF_PASS autolearn=disabled version=4.0.1","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on gandalf.ozlabs.org"},"content":"From: Zhang Yi <yi.zhang@huawei.com>\n\nReturn the actual zeroed length instead of 0 on success. This prepares\nfor the upcoming iomap buffered I/O conversion by exposing zeroed length\ninformation to callers.\n\nSigned-off-by: Zhang Yi <yi.zhang@huawei.com>\nReviewed-by: Jan Kara <jack@suse.cz>\n---\n fs/ext4/inode.c | 10 +++++++++-\n 1 file changed, 9 insertions(+), 1 deletion(-)","diff":"diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c\nindex 1c9474d5d11d..f21be26b4642 100644\n--- a/fs/ext4/inode.c\n+++ b/fs/ext4/inode.c\n@@ -4136,6 +4136,7 @@ static int ext4_block_zero_page_range(handle_t *handle,\n  * up to the end of the block which corresponds to `from'.\n  * This required during truncate. We need to physically zero the tail end\n  * of that block so it doesn't yield old data if the file is later grown.\n+ * Return the zeroed length on success.\n  */\n static int ext4_block_truncate_page(handle_t *handle,\n \t\tstruct address_space *mapping, loff_t from)\n@@ -4143,6 +4144,8 @@ static int ext4_block_truncate_page(handle_t *handle,\n \tunsigned length;\n \tunsigned blocksize;\n \tstruct inode *inode = mapping->host;\n+\tbool did_zero = false;\n+\tint err;\n \n \t/* If we are processing an encrypted inode during orphan list handling */\n \tif (IS_ENCRYPTED(inode) && !fscrypt_has_encryption_key(inode))\n@@ -4151,7 +4154,12 @@ static int ext4_block_truncate_page(handle_t *handle,\n \tblocksize = i_blocksize(inode);\n \tlength = blocksize - (from & (blocksize - 1));\n \n-\treturn ext4_block_zero_page_range(handle, mapping, from, length, NULL);\n+\terr = ext4_block_zero_page_range(handle, mapping, from, length,\n+\t\t\t\t\t &did_zero);\n+\tif (err)\n+\t\treturn err;\n+\n+\treturn did_zero ? length : 0;\n }\n \n int ext4_zero_partial_blocks(handle_t *handle, struct inode *inode,\n","prefixes":["v2","02/10"]}