{"id":2223443,"url":"http://patchwork.ozlabs.org/api/1.2/patches/2223443/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-ext4/patch/20260415105505.342358-3-yebin@huaweicloud.com/","project":{"id":8,"url":"http://patchwork.ozlabs.org/api/1.2/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":"<20260415105505.342358-3-yebin@huaweicloud.com>","list_archive_url":null,"date":"2026-04-15T10:55:03","name":"[v2,2/4] ext4: skip cursor node in ext4_orphan_del()","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"5ee2ad8a78eb8b18dda47545ad07f719257fb1f2","submitter":{"id":85089,"url":"http://patchwork.ozlabs.org/api/1.2/people/85089/?format=json","name":"Ye Bin","email":"yebin@huaweicloud.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-ext4/patch/20260415105505.342358-3-yebin@huaweicloud.com/mbox/","series":[{"id":499966,"url":"http://patchwork.ozlabs.org/api/1.2/series/499966/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-ext4/list/?series=499966","date":"2026-04-15T10:55:03","name":"show orphan file inode detail info","version":2,"mbox":"http://patchwork.ozlabs.org/series/499966/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2223443/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2223443/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <SRS0=Kn2r=CO=vger.kernel.org=linux-ext4+bounces-15842-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=kn2r=co=vger.kernel.org=linux-ext4+bounces-15842-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)","gandalf.ozlabs.org;\n arc=pass smtp.remote-ip=\"2600:3c0a:e001:db::12fc:5321\"\n 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=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15842-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 4fwdS12cdFz1yHM\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 15 Apr 2026 20:58: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 4fwdRv3xPbz4wJX\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 15 Apr 2026 20:58:51 +1000 (AEST)","by gandalf.ozlabs.org (Postfix)\n\tid 4fwdRv3YQgz4x4X; Wed, 15 Apr 2026 20:58:51 +1000 (AEST)","from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\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 4fwdRq1CS0z4wJX\n\tfor <patchwork-incoming@ozlabs.org>; Wed, 15 Apr 2026 20:58:47 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 450443033523\n\tfor <patchwork-incoming@ozlabs.org>; Wed, 15 Apr 2026 10:57:44 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 876C034B676;\n\tWed, 15 Apr 2026 10:57:43 +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 63F0B349B1C\n\tfor <linux-ext4@vger.kernel.org>; Wed, 15 Apr 2026 10:57:40 +0000 (UTC)","from mail.maildlp.com (unknown [172.19.163.177])\n\tby dggsgout12.his.huawei.com (SkyGuard) with ESMTPS id 4fwdQJ11dyzKHMYB\n\tfor <linux-ext4@vger.kernel.org>; Wed, 15 Apr 2026 18:57:28 +0800 (CST)","from mail02.huawei.com (unknown [10.116.40.252])\n\tby mail.maildlp.com (Postfix) with ESMTP id B25F340590\n\tfor <linux-ext4@vger.kernel.org>; Wed, 15 Apr 2026 18:57:37 +0800 (CST)","from huaweicloud.com (unknown [10.50.87.132])\n\tby APP3 (Coremail) with SMTP id _Ch0CgAHtL0fb99pbf70AQ--.45727S6;\n\tWed, 15 Apr 2026 18:57:37 +0800 (CST)"],"ARC-Seal":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707; t=1776250731; cv=pass;\n\tb=jBGqVHZkzZV1BfoAdCVg70CbR6PR/HilOCN1N2VQoRWWb3WSIcKjKzrBSGmE+kdEB3kGvBuInC2WJoBU5S5F/GcNCthkEx+UL/v/bj1UoSVrFl/F/PGx4eZrdH/n9lN30bFuvUJDsjpE/n3/AhioyHTSoS1LPHFZALjurNYHxAUdt5YN9WQGKc2vPg41hfoCTMwaxaNzVTnpSBllNOGKZTN0fp/Y49xi/O9PGGHM6m5xhw9jRVPlTlSpwG5nYcDM6BkfiZI3wYO/NypDwpsMeE818NEuNABphGSYXI6ivWA1q81SQVBb9OiUIoamEMBSq4FoZMGkVscekVg0cnFcgQ==","i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776250663; cv=none;\n b=bTU9fs1qaBpd9dmaMFvXHQ0InNor0IAIn/qvv0+AgBjBR5qyhXLo/DBxVa8sG3fJoRh3bLueOP4FRPNgmLS3z9q7xSz2s4pUE1iyZgDpmT1Up8o4qHwsAWtYi7b6zjLVQ3vaxMdFChLTl/teffL8BlgjpSZThLJI9R7Z1kTwDmY="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707;\n\tt=1776250731; c=relaxed/relaxed;\n\tbh=cJrewVL9i4FpGyMAdvNcdxzELFDenxnSNfyShOQkw4Q=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t MIME-Version;\n b=wSNrugZOm8varX5LQEcrrIKw1km8sI8mOdRH0DkAeLBcKVc9RTyu49NHRpYC6oAu712YbiCzdkYxZcMMFTfjfCORCpgI3C36LVl8CGHHdVlKbB0Y3gUqK3IlEQsOQMPcylBnfskWOHo+0X5ltZQmdC4HCqXRe4dWqjNio4zFS6Om6ev1RKuBaWBSnGrg+ztB6DH2UPVjXU2gsHC/UaAkLaeXUJrrs09EZNac9mIJTA41GuacdYg19qIB3o0kNuOqPDduxT4xkSE9iCjOcHyjBDm9vQD3EEYZIkbQm+fHMG0QOgdBYSXz897gGbzQY42wcwBp4mxZajEmnDrMdWwLQg==","i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776250663; c=relaxed/simple;\n\tbh=NDW0yeA/LjLxjRO+vXMfLiHC8KHZdh1AELPZG5HcilQ=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t MIME-Version;\n b=ZOvRFyD2Ah0cD3x8y1aXISPuq4lhEoSfyxKhks7jH5XwxjPALsbyhPscmYEoEb+toTaDcGEc6DmvW+kI/e3YheyRlyqygSjImuKu1WpynzEY90hPYuY+DxITpQt5YgmzC7HclhCh/U4GbnTz0DEi0qI/Q1HjzWLwfPvK9lA5lPI="],"ARC-Authentication-Results":["i=2; gandalf.ozlabs.org;\n dmarc=none (p=none dis=none) header.from=huaweicloud.com;\n spf=pass (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15842-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":"Ye Bin <yebin@huaweicloud.com>","To":"tytso@mit.edu,\n\tadilger.kernel@dilger.ca,\n\tlinux-ext4@vger.kernel.org","Cc":"jack@suse.cz","Subject":"[PATCH v2 2/4] ext4: skip cursor node in ext4_orphan_del()","Date":"Wed, 15 Apr 2026 18:55:03 +0800","Message-Id":"<20260415105505.342358-3-yebin@huaweicloud.com>","X-Mailer":"git-send-email 2.34.1","In-Reply-To":"<20260415105505.342358-1-yebin@huaweicloud.com>","References":"<20260415105505.342358-1-yebin@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":"_Ch0CgAHtL0fb99pbf70AQ--.45727S6","X-Coremail-Antispam":"1UD129KBjvJXoW7AFy5uw45JFWUuF4ktrW3GFg_yoW8Xw48pF\n\tW3GF98Ja1UGFyS9a93tFWjqFn3t3WxW3yjqFWSk340qFy3XrWDtF18K3W5ZFn5JrW8Gr1j\n\tgr48WFWYgF4jvrJanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2\n\t9KBjDU0xBIdaVrnRJUUUvlb4IE77IF4wAFF20E14v26ryj6rWUM7CY07I20VC2zVCF04k2\n\t6cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28IrcIa0xkI8VA2jI8067AKxVWUXw\n\tA2048vs2IY020Ec7CjxVAFwI0_JFI_Gr1l8cAvFVAK0II2c7xJM28CjxkF64kEwVA0rcxS\n\tw2x7M28EF7xvwVC0I7IYx2IY67AKxVW7JVWDJwA2z4x0Y4vE2Ix0cI8IcVCY1x0267AKxV\n\tWxJVW8Jr1l84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_\n\tGcCE3s1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx\n\t0E2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWU\n\tJVW8JwACjcxG0xvY0x0EwIxGrwCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJV\n\tW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF\n\t1VAFwI0_JF0_Jw1lIxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6x\n\tIIjxv20xvEc7CjxVAFwI0_Gr0_Cr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvE\n\tx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvj\n\tDU0xZFpf9x07URpBfUUUUU=","X-CM-SenderInfo":"p1hex046kxt4xhlfz01xgou0bp/","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: Ye Bin <yebin10@huawei.com>\n\nThis patch is prepared for displaying orphan_list information. Because\ntemporary nodes may be inserted when the orphan_list is traversed and\ndisplayed, these temporary nodes need to be skipped.\n\nSigned-off-by: Ye Bin <yebin10@huawei.com>\n---\n fs/ext4/orphan.c | 20 +++++++++++++++++++-\n 1 file changed, 19 insertions(+), 1 deletion(-)","diff":"diff --git a/fs/ext4/orphan.c b/fs/ext4/orphan.c\nindex f7e7f77e021e..a6bffe67ef75 100644\n--- a/fs/ext4/orphan.c\n+++ b/fs/ext4/orphan.c\n@@ -220,6 +220,23 @@ static int ext4_orphan_file_del(handle_t *handle, struct inode *inode)\n \treturn ret;\n }\n \n+static inline bool ext4_is_cursor(struct inode *inode)\n+{\n+\treturn (inode->i_ino == 0);\n+}\n+\n+static inline struct list_head *ext4_orphan_prev_node(\n+\t\t\t\t\tstruct ext4_inode_info *pos,\n+\t\t\t\t\tstruct list_head *head)\n+{\n+\tlist_for_each_entry_continue_reverse(pos, head, i_orphan) {\n+\t\tif (likely(!ext4_is_cursor(&pos->vfs_inode)))\n+\t\t\treturn &pos->i_orphan;\n+\t}\n+\n+\treturn head;\n+}\n+\n /*\n  * ext4_orphan_del() removes an unlinked or truncated inode from the list\n  * of such inodes stored on disk, because it is finally being cleaned up.\n@@ -253,7 +270,8 @@ int ext4_orphan_del(handle_t *handle, struct inode *inode)\n \tmutex_lock(&sbi->s_orphan_lock);\n \text4_debug(\"remove inode %llu from orphan list\\n\", inode->i_ino);\n \n-\tprev = ei->i_orphan.prev;\n+\tprev = ext4_orphan_prev_node(ei, &sbi->s_orphan);\n+\n \tlist_del_init(&ei->i_orphan);\n \n \t/* If we're on an error path, we may not have a valid\n","prefixes":["v2","2/4"]}