{"id":2226005,"url":"http://patchwork.ozlabs.org/api/patches/2226005/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-ext4/patch/20260422021042.4157510-17-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":"<20260422021042.4157510-17-yi.zhang@huaweicloud.com>","list_archive_url":null,"date":"2026-04-22T02:10:36","name":"[v3,16/22] ext4: disable online defrag when inode using iomap buffered I/O path","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"784be29ed8befad440f50d3fa20b8c1f07bd5f46","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/20260422021042.4157510-17-yi.zhang@huaweicloud.com/mbox/","series":[{"id":500911,"url":"http://patchwork.ozlabs.org/api/series/500911/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-ext4/list/?series=500911","date":"2026-04-22T02:10:23","name":"ext4: use iomap for regular file's buffered I/O path","version":3,"mbox":"http://patchwork.ozlabs.org/series/500911/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2226005/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2226005/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <SRS0=qfmj=CV=vger.kernel.org=linux-ext4+bounces-15974-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=qfmj=cv=vger.kernel.org=linux-ext4+bounces-15974-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)","gandalf.ozlabs.org;\n arc=pass smtp.remote-ip=104.64.211.4 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=104.64.211.4; helo=sin.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15974-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 4g0jZm6c0tz1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 12:18:56 +1000 (AEST)","from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4g0jZm68ZDz4wJh\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 12:18:56 +1000 (AEST)","by gandalf.ozlabs.org (Postfix)\n\tid 4g0jZm65V4z4wK3; Wed, 22 Apr 2026 12:18:56 +1000 (AEST)","from sin.lore.kernel.org (sin.lore.kernel.org [104.64.211.4])\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 4g0jZj3QSKz4wJh\n\tfor <patchwork-incoming@ozlabs.org>; Wed, 22 Apr 2026 12:18:53 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sin.lore.kernel.org (Postfix) with ESMTP id 6FD75301D207\n\tfor <patchwork-incoming@ozlabs.org>; Wed, 22 Apr 2026 02:17:31 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id DC4D5318EDA;\n\tWed, 22 Apr 2026 02:17:05 +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 CFE9C34FF74;\n\tWed, 22 Apr 2026 02:17:03 +0000 (UTC)","from mail.maildlp.com (unknown [172.19.163.170])\n\tby dggsgout12.his.huawei.com (SkyGuard) with ESMTPS id 4g0jX50jh6zKHMTL;\n\tWed, 22 Apr 2026 10:16:37 +0800 (CST)","from mail02.huawei.com (unknown [10.116.40.252])\n\tby mail.maildlp.com (Postfix) with ESMTP id 25618405D5;\n\tWed, 22 Apr 2026 10:16:57 +0800 (CST)","from huaweicloud.com (unknown [10.50.85.155])\n\tby APP3 (Coremail) with SMTP id _Ch0CgB3JL6PL+hpqkgUBQ--.2635S20;\n\tWed, 22 Apr 2026 10:16:56 +0800 (CST)"],"ARC-Seal":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707; t=1776824336; cv=pass;\n\tb=pfwWh43Iz11I0zdZDSTR9xhiaO0QSNx4DnAzISBD3EVMUv34Fkl68ZpamDRvaHOyvCZqYtnwXFRrayv04LGT5CeirrzwxihFhIW1dVCEFucXBtpCMtDbgC0igJ2XVYKMnwTAfRrroCq6GvcCaxjq32oZaxmCcEuWdMSwEuKlaTVGdOcCbzS7EvZ1WqevA12CVb6gUno+Pfa7+AtKuELCD3EjaaQ/3hCNMwQUw192tg+/5g1DzGSXn7FW+wsmQYKfSX2W1t/TwLfUBbxwmbWNiCS2RWnchgD1tz1a12j35ZdGWOOiRA28GhRvIPkquY/3wRRPb0x3SHZqH6SqDQbwqw==","i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776824225; cv=none;\n b=YxqCN2cgFmXZ06RyWuvBEWqLFom2FiGACcSydY01Y2kKSfZoZ1kduveS5U1n1/O64PjN0xjtkoaiJuMkbUVEAUcygm9ho5PVe5s3VF2W+llkrwMKzrF9jWHSUhTf5gUFoF//ob5h5kMbKFNGvOq6KvNqbuLzRZieygT8LmOm4t8="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707;\n\tt=1776824336; c=relaxed/relaxed;\n\tbh=KvvO4RCmRtQFBhXoIgEeNJtiLOVvfcyeU+hGARYqpBg=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=TdiQw5/IuC9//nFyRG27oI2sE+d8KGs7Khogu0OAuuMAAHM8UZQNgORILNlC2N6MurJxmak2YWoCYlVxmgWcwtxH0IDZbKAI97dR4YpVR00ZzWmhCYxF70Eza6cH3KJEZG/bSQClmkprd1mx6K5Cs0g37iLs9P0+4UzNWlNCSEg6gt4R6Yg5vI6LtIzzLYHnijBukluFW8Qys+YwVOLLDTASQMPpjTEqRAuAdfNCE1fI5csh5g69xQpiBFZK4uDZj4XdTHr1bs4DECGJh5dq9u5916AAfHn2lF2HuI3bA9eUaR9e83ZF0sZEMlYegiDybF0PQF6k2lOwlhKhh6A4kg==","i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776824225; c=relaxed/simple;\n\tbh=TR3wXiUMaCqs+/Baqxnmc8l4eBzCYOhR1cr0EWSBFS0=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=DR+Peeq1IwG1YKc4rHxUztkSssUvrOxI/dvuYWEAN3S644iczifHRg80nihO0dzB1CbqhsoESNQCyir3GlqsSKX1JnNr1uKTQJ/B4XLliV8ZbD444k1mpZRSyceLowgHZELWpG4jyPKXc6maopSvKxDg5/FoWWUU1L9wRvXWIZI="],"ARC-Authentication-Results":["i=2; gandalf.ozlabs.org;\n dmarc=none (p=none dis=none) header.from=huaweicloud.com;\n spf=pass (client-ip=104.64.211.4; helo=sin.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15974-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,\n\tlinux-fsdevel@vger.kernel.org","Cc":"linux-kernel@vger.kernel.org,\n\ttytso@mit.edu,\n\tadilger.kernel@dilger.ca,\n\tlibaokun@linux.alibaba.com,\n\tjack@suse.cz,\n\tojaswin@linux.ibm.com,\n\tritesh.list@gmail.com,\n\tdjwong@kernel.org,\n\thch@infradead.org,\n\tyi.zhang@huawei.com,\n\tyi.zhang@huaweicloud.com,\n\tyizhang089@gmail.com,\n\tyangerkun@huawei.com,\n\tyukuai@fnnas.com","Subject":"[PATCH v3 16/22] ext4: disable online defrag when inode using iomap\n buffered I/O path","Date":"Wed, 22 Apr 2026 10:10:36 +0800","Message-ID":"<20260422021042.4157510-17-yi.zhang@huaweicloud.com>","X-Mailer":"git-send-email 2.52.0","In-Reply-To":"<20260422021042.4157510-1-yi.zhang@huaweicloud.com>","References":"<20260422021042.4157510-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":"_Ch0CgB3JL6PL+hpqkgUBQ--.2635S20","X-Coremail-Antispam":"1UD129KBjvdXoW7Jw47Gw4Uur15Ary8Jr4xJFb_yoWktwc_ta\n\t97Jry8Ww1YyFsa9398Jas8KrnYkF48GFn5WFZ5Gr18uw1UZ395Gr1vkry2vr98Wr1jqrZ8\n\tCFn7Jr1rKry2gjkaLaAFLSUrUUUUjb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT\n\t9fnUUIcSsGvfJTRUUUbvAFF20E14v26rWj6s0DM7CY07I20VC2zVCF04k26cxKx2IYs7xG\n\t6rWj6s0DM7CIcVAFz4kK6r1j6r18M28IrcIa0xkI8VA2jI8067AKxVWUAVCq3wA2048vs2\n\tIY020Ec7CjxVAFwI0_Xr0E3s1l8cAvFVAK0II2c7xJM28CjxkF64kEwVA0rcxSw2x7M28E\n\tF7xvwVC0I7IYx2IY67AKxVWDJVCq3wA2z4x0Y4vE2Ix0cI8IcVCY1x0267AKxVW8Jr0_Cr\n\t1UM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s0D\n\tM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjx\n\tv20xvE14v26r106r15McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1l\n\tF7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8cxan2\n\tIY04v7MxkF7I0En4kS14v26r1q6r43MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY\n\t6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17\n\tCEb7AF67AKxVW8ZVWrXwCIc40Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r4j6ryUMIIF\n\t0xvE2Ix0cI8IcVCY1x0267AKxVW8Jr0_Cr1UMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCw\n\tCI42IY6I8E87Iv67AKxVW8JVWxJwCI42IY6I8E87Iv6xkF7I0E14v26r4UJVWxJrUvcSsG\n\tvfC2KfnxnUUI43ZEXa7VU1zpBDUUUUU==","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\nOnline defragmentation does not currently support inodes using the\niomap buffered I/O path, as it still relies on buffer_head for the\nmanagement of sub-folio blocks and on the data=ordered mode for data\nconsistency.\n\nSigned-off-by: Zhang Yi <yi.zhang@huawei.com>\n---\n fs/ext4/move_extent.c | 11 +++++++++++\n 1 file changed, 11 insertions(+)","diff":"diff --git a/fs/ext4/move_extent.c b/fs/ext4/move_extent.c\nindex 3329b7ad5dbd..f707a1096544 100644\n--- a/fs/ext4/move_extent.c\n+++ b/fs/ext4/move_extent.c\n@@ -476,6 +476,17 @@ static int mext_check_validity(struct inode *orig_inode,\n \t\treturn -EOPNOTSUPP;\n \t}\n \n+\t/*\n+\t * TODO: support online defrag for inodes that using the buffered\n+\t * I/O iomap path.\n+\t */\n+\tif (ext4_inode_buffered_iomap(orig_inode) ||\n+\t    ext4_inode_buffered_iomap(donor_inode)) {\n+\t\text4_msg(sb, KERN_ERR,\n+\t\t\t \"Online defrag not supported for inode with iomap buffered IO path\");\n+\t\treturn -EOPNOTSUPP;\n+\t}\n+\n \tif (donor_inode->i_mode & (S_ISUID|S_ISGID)) {\n \t\text4_debug(\"ext4 move extent: suid or sgid is set to donor file [ino:orig %llu, donor %llu]\\n\",\n \t\t\t   orig_inode->i_ino, donor_inode->i_ino);\n","prefixes":["v3","16/22"]}