From patchwork Tue Apr 15 03:38:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?5p2O5oms6Z+s?= X-Patchwork-Id: 14051407 Received: from HK3PR03CU002.outbound.protection.outlook.com (mail-eastasiaazon11011008.outbound.protection.outlook.com [52.101.129.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C0B132DFA41; Tue, 15 Apr 2025 03:19:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.129.8 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744687162; cv=fail; b=WGLNsptU0in0gSWgPQZYBtsvD6BbzqCxN+913EjT/v8w7QZatO6coiepdsBXVulmJB/26pm2NKynFSHRwchY/BBbU6uiQB1UqBBU3lKl56PHMFhPSjUZm2UUCxXJ2krgGLBIBVTB3L5Xv0fRMQK4jFRj35BXmcbG317C18gzFsM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744687162; c=relaxed/simple; bh=lhsM8FBGq3WwS+s39CCV3mCr2QKfVHftUKqnfxwuLB4=; h=From:To:Cc:Subject:Date:Message-Id:Content-Type:MIME-Version; b=R7Ed4kxDrl8Vhrjy/rk2ktWizWaJ+PES001g6EtWX6Rgx5aELDI84JNLtD+lTynRD8qOckuCFofVxOWdnPaHkXiO7LRQaGbIrXYyNxLLLl6xTVeswdcS1Jc56wV70SnbDu7fzCU6k4KcgQMHUhq5422+yhw9jDzgssBiA4cmJwA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=vivo.com; spf=pass smtp.mailfrom=vivo.com; dkim=pass (2048-bit key) header.d=vivo.com header.i=@vivo.com header.b=lCEKe4qa; arc=fail smtp.client-ip=52.101.129.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=vivo.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=vivo.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=vivo.com header.i=@vivo.com header.b="lCEKe4qa" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mXl0kDsn2rJnBAukirXTcRUQi3PhATUClbpuSH73rVy4TWnmZ9UOrUtTf/tmNXAWKBBSR7eW01VYRnhl7zmq28BDMwIqAeexNm/ZZw38YdAZ5UmlNdAM2pg3rN1hmpJn2xnFVhrolcT1Cv2Tuang43npdYU9+gQIq6+rUwJ5caK7KayVIvjR+VcAXJoeyfMvuBN9b6lGSKygVlZvyZIIb3/ySN796QR/hL3NsUu+sVCeb8Dnv8iwOvOdjZGZR+FvKTmiH/83MPJPZk5am88GifW0A8AXKOaiA0bjypJHp5v7/R0/sg7Ps6iOBo5Agn1mnyXwogYg3n/CPJTHr+EirA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=KlHMmETapy01h596qhm417/EdFir6kaB06CqLT90rm4=; b=CZ+SdBmn27gB7ruGzrTJKBOZ4PFo9mq97YBf5+h6qcUjRoFcXasPWiwG5KDQS02JC5kxmls9/OFTZkNntqNTXach4e/ppcqiuY8HvxoL2+LL1QDVyTaV8g4dVfLvKLLka3mKf8NNNmP4zg4KNfvMh8fpLPL4s29TgpEhiflKemqp1f8T5ciAXy7tG0537C+5tuuNlohMiT1DmiLM0542JwcrqNxuJgC1o+yZuLB62odiFz3dnH3eSLqyruY+0hFJQ41C8UWnxMSXZYdJQ1t6slL+R8AjNlkJDZAwc4qIzitApEym+uRvUt6mFYCsYzyg4NvzLG532dg0ar50S03rgA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vivo.com; dmarc=pass action=none header.from=vivo.com; dkim=pass header.d=vivo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vivo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KlHMmETapy01h596qhm417/EdFir6kaB06CqLT90rm4=; b=lCEKe4qaBaAi/QDKBQStNAHzV6d1uLzdIcqr4nqGOYnx0mTO7E8eBHNw3s4sRYbFoo1cM0ZMyGYb8VKmJADT/of2lZJVTFVZribrFZg1yBPvNFgDM4wQ+uqedN/TTKtoUD7G2720A6yojEEAy9SO/mYE1dL0Jxagf3PqS5dwwgUqoInzool2Gmk2NCEa2LfT/C2XMd1B2C39tc6PQqN/Op2HvOb8WNQ9zZQNzjjvUenSkIbmMvKNCGBQbs2FEWYvLKImDtojuZ7QfN/1k/GzGADHPZ9n9TVpZFWTHaHdmnz6LTBayBcFBrAkMJPbEL+zbUDOMpJw4yHkcLbzokvA4A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vivo.com; Received: from SEZPR06MB5269.apcprd06.prod.outlook.com (2603:1096:101:78::6) by JH0PR06MB6319.apcprd06.prod.outlook.com (2603:1096:990:b::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.36; Tue, 15 Apr 2025 03:19:16 +0000 Received: from SEZPR06MB5269.apcprd06.prod.outlook.com ([fe80::8c74:6703:81f7:9535]) by SEZPR06MB5269.apcprd06.prod.outlook.com ([fe80::8c74:6703:81f7:9535%6]) with mapi id 15.20.8632.030; Tue, 15 Apr 2025 03:19:15 +0000 From: Yangtao Li To: clm@fb.com, josef@toxicpanda.com, dsterba@suse.com Cc: linux-btrfs@vger.kernel.org, linux-kernel@vger.kernel.org, Yangtao Li , Daniel Vacek Subject: [PATCH 1/3] btrfs: get rid of path allocation in btrfs_del_inode_extref() Date: Mon, 14 Apr 2025 21:38:52 -0600 Message-Id: <20250415033854.848776-1-frank.li@vivo.com> X-Mailer: git-send-email 2.34.1 X-ClientProxiedBy: SI2PR01CA0052.apcprd01.prod.exchangelabs.com (2603:1096:4:193::11) To SEZPR06MB5269.apcprd06.prod.outlook.com (2603:1096:101:78::6) Precedence: bulk X-Mailing-List: linux-btrfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SEZPR06MB5269:EE_|JH0PR06MB6319:EE_ X-MS-Office365-Filtering-Correlation-Id: d286270f-3d55-4486-f3cb-08dd7bcc4d01 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: iMwRybCQ3j1j5szdoCNTMaGHscPwAVjMVnG+pabDVDUvDx9971BlobhSWM0SXXyZn1LWP2yjT82gNrH0Ipe8+6VuUufSDL4YhJJrzVQvUYsiijQgPOmllJEYiARlsgm+VND3pJ+DQ2kvfFTdAjUqDVxnMTzDRXXck7d5mVy6VHWL1D+baTE9BR25Z3NaQbk1MNRN1j/42Tkzc6QbmpZnGIa2pFQYvKXz442+XwZ5trn+bm7Dbo/ZgwWRqDs494HNMBGlaIyCcxz8tRAWyoSda6rjBI1r65aLMvyheACyFTbMnrDObASYqBym9E3z6Mt1I+DdixOS7rOgF1rWaRw9YuAuGntRdFfFOLdB4MxFzpyE0fOg3Kdp4YwXwsZ251cRt9obytbh8MuGAQrxX6n6CV5haNjnqHUoyhqzBPBBiPVYNt6nX/rmPYfPHkemoPiegz/2g/JRioxPJm4X0ZxPH+don93N4JcNa5QEd2yx5gc0EHTolTZ8qlEJh3L6thzuRYMbY2m7G3V2PoFOdPwIHVEN6BKQvaM6PPBV8uUWjZvV0zB6B0OVhVhhod0qtsRAw0B+aDYu8UvEH1+8couDbh39xtKFW1ebcti5jZyUe2TDneunfFTw2x6RQzORlIeGmD8IRakQWHRMN4+Af/qePRWnDL1roP5d88/4rSfue10Ji2hvvJsG/fYffzA74UxXuaHjsQFBsdl215XZdBnTgSX0WTWL/ANjwsQEL0hzarUDQ7xTZJ5VBW0gEjcb7kQwb+zMewK8AQYAvYJGCIsqK7d+QatLg3q7CbJUKzraYw9uaXhZKBW3wAjGPUYKOMfvR8KM69dTiy8e04/4M0Ah5/L6dT4jRUJt1SvCdknMjr7SRsg7wsW8b/FZX935JVWHmOT94k3rauN4s3bgkkbWipsoBxer0ZbVF+5tAaMVnmIieIBVkLtUBY2aaU6C7SPlmmCBGldmyedCeEy8jHfi+blG/bzMx4iy+Z9O8vcC5Er1waJMLBqLmq/PNZB7Ldb0xkAAPxr7lIxgBmgWFt8+SFIF2z9qaLpLvh3TQSH4rgPASeQJ50TXjxcadInq3gWZbAwf+ip68GBocp0m4SM4ZsbYV6I5nHHjbiLhvYaKOnghZS2ZXJmzVNptad/z6fUq7b+fWbIANLHmV2q3wNpmG3xXhOALzj+GeGKDS5mU33Kxp+4sJq36p3fw22PYDxfMNoa9GkqNwJ/iNUf84VS7Kq411aK3aFiV+o97nlF/PBcTsdpbI68K8IFa26Yp0/tIq3ob1jv1XSza3OqAlSiE1EZpJk8lU4AvjlvG5Xg737jOkU1LxVdKjUwuVHm5tvqKDwTlpacCMp+xd+deBj/p64y36AL2xTX0u+DeHbrP8kAwUzoFX4kG5eKxtHylDw8HC4clz/UolJp4MpsI2zXzCIg7PGgs7b9JuhztDzrhlamXPMk4re4W0KRPsmjk+YDOtUCvu3+/qCeCX+iE3unDWA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SEZPR06MB5269.apcprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: o67qlsTCkJnmjmlepvbXfg6B0fdX56BvDQAcI8/d4pdDLncBLVMdn2WOxFxD2PEMWvZ2xFoP/fs1Kk1+RC5I5tUCY4NksTkLxdv1BNur/atviSDuNQMcnl2++3ue29DtjaOg0spfX5JaGA/ea4wxStj96SpZoi+hViqv2MjNGRW4ZKVC07dVedeVW/fVfvxpMH5O0436JVJyrvpu6KyBxht0QLW7n8i63iJdkkn6AAtqQyI2qZ0TSnTD/Xcvnl5Ir5TWf9SM8ZgIjBmfppVqh9dImpslSsVkYFiaJUs0YJa6PEMgBuEWYv915TczKh67RhlHFEXvKxCHxAgu/eBa6veJjXry6Fu1le/y9r3HqHsmWhyts9DbwnV/PN6QjlMGMopt+3LrHok4H6VEbmDICqYXoYdQEl8/kpCjZHsrOGX90HEjbIGcCjTk8lRrS2d/12bQeNd302114k32/1ajtGJ8L7jIatOak/CCUHyjHQtfsabWKDUKCzEopRCfcKOCORoQJmIqwH3W8b509l6PecYGY9n/YGmlN1r30C2dZv4cN9u5Q5doGgl6bYhRxjnMP00Mu/lVSA5P8rIg/okjQF2eiEX9bXyMmk6tJuFrv9SIVL3JHAE2r9GPFWTZ0JMsz/7SdmOsd3VBqxaiaPID0KIwrx3xOy7nt8g/qEvAY8Y3AJ539DKre4Lxv0sZbYH3uuK40x9+MbRqa/SVVKK4roT6NXcQoZOM7VunYaFPmpUeWOUdAetsKNE6EjQ2VVJVQx6A+FkbY2AAB6him/HU6gqEWr0LX+x+kSo5KFBk5CxX8ZIbsMQFWwZiS0bi6ERjhC6LFUytWYMQopq4Pfc0CDml56TJlJxI7xQ39FqsT5wx8fqSmDEnxlhADeWOEg0i2HYbqFNrYphuzCj2hQtdQjS8t1W0VSI8BoT0ZgWrONWbm0JlFNwoCe2NOPaLLrqtk2xQ4jMcNCuTU9eQ1AmXRSBF+MugeqOtk8GbeGRg38ssd2flrRcC+kqVpjebedwZoMTZ/LUqJwC1Rydsvv8hpeIvQgPasNvf8vyeaB9v8r2nvMc3IPudtOLQB3qZRN/EdhgA029yJCKjocNroefocAdbUI0L2SVpTOYjiw34h0eJAlyj+S5ned2ulOT5EQam+Ioin8k6a+4QnEfe3cRMYtYD7jG3QzpKqJ+LH+j8fr9YPFft6Z8oZn2c9Fyq9SFRGjP+2oM8r8VDo7STZq+w7/FrF2Gj9i8P52/XvZzHzXYM8o4x/g2mUjRHNcl+7FAWYlJDIxyRNo0hDyte6mHu1DeWsN7iR+lhS35tOSFXzRmrX8v0nhNnWe2QlATCoxoW1tlVT1pOPy2u4bcad7Tmpd3NUWMh+el18O7xltYuJ7Z2L5pZlb3nKwboJ6WWKwT8Cl+pe1d2PFpcL7jqTPBfmhDp4xQGz0tXrx5V3rsxIuCZ/lusocHn5++vZUuf45uM9Tuj4xN68z34L0DpjyAY8PA1dAqHgt6aWq4Gm7axmHOwhn95wG8Abk1A5iuCXKTh5H27aBTVEptpiJx/R+wamMVwa8PwMK+0pNt7cVZfV+A6FOs28RfBA7APwKfDOxFh X-OriginatorOrg: vivo.com X-MS-Exchange-CrossTenant-Network-Message-Id: d286270f-3d55-4486-f3cb-08dd7bcc4d01 X-MS-Exchange-CrossTenant-AuthSource: SEZPR06MB5269.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Apr 2025 03:19:15.5786 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 923e42dc-48d5-4cbe-b582-1a797a6412ed X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: NDZNdE4YFz3ml1wC8LtMLRXVh8WAnO2bfOFjID7P2VLg7yPwQpyaEGhRHUCEqMvEM97WgZmjZTa2tBK/71QtMQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: JH0PR06MB6319 Pass path objects from btrfs_del_inode_ref() to btrfs_del_inode_extref(), which reducing path allocations and potential failures. BTW convert to use BTRFS_PATH_AUTO_FREE macro. Suggested-by: Daniel Vacek Signed-off-by: Yangtao Li --- fs/btrfs/inode-item.c | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/fs/btrfs/inode-item.c b/fs/btrfs/inode-item.c index 3530de0618c8..693cd47668eb 100644 --- a/fs/btrfs/inode-item.c +++ b/fs/btrfs/inode-item.c @@ -105,11 +105,11 @@ btrfs_lookup_inode_extref(struct btrfs_trans_handle *trans, static int btrfs_del_inode_extref(struct btrfs_trans_handle *trans, struct btrfs_root *root, + struct btrfs_path *path, const struct fscrypt_str *name, u64 inode_objectid, u64 ref_objectid, u64 *index) { - struct btrfs_path *path; struct btrfs_key key; struct btrfs_inode_extref *extref; struct extent_buffer *leaf; @@ -123,15 +123,11 @@ static int btrfs_del_inode_extref(struct btrfs_trans_handle *trans, key.type = BTRFS_INODE_EXTREF_KEY; key.offset = btrfs_extref_hash(ref_objectid, name->name, name->len); - path = btrfs_alloc_path(); - if (!path) - return -ENOMEM; - ret = btrfs_search_slot(trans, root, &key, path, -1, 1); if (ret > 0) ret = -ENOENT; if (ret < 0) - goto out; + return ret; /* * Sanity check - did we find the right item for this name? @@ -142,8 +138,7 @@ static int btrfs_del_inode_extref(struct btrfs_trans_handle *trans, ref_objectid, name); if (!extref) { btrfs_abort_transaction(trans, -ENOENT); - ret = -ENOENT; - goto out; + return -ENOENT; } leaf = path->nodes[0]; @@ -156,8 +151,7 @@ static int btrfs_del_inode_extref(struct btrfs_trans_handle *trans, * Common case only one ref in the item, remove the * whole item. */ - ret = btrfs_del_item(trans, root, path); - goto out; + return btrfs_del_item(trans, root, path); } ptr = (unsigned long)extref; @@ -168,17 +162,14 @@ static int btrfs_del_inode_extref(struct btrfs_trans_handle *trans, btrfs_truncate_item(trans, path, item_size - del_len, 1); -out: - btrfs_free_path(path); - - return ret; + return 0; } int btrfs_del_inode_ref(struct btrfs_trans_handle *trans, struct btrfs_root *root, const struct fscrypt_str *name, u64 inode_objectid, u64 ref_objectid, u64 *index) { - struct btrfs_path *path; + BTRFS_PATH_AUTO_FREE(path); struct btrfs_key key; struct btrfs_inode_ref *ref; struct extent_buffer *leaf; @@ -230,7 +221,7 @@ int btrfs_del_inode_ref(struct btrfs_trans_handle *trans, item_size - (ptr + sub_item_len - item_start)); btrfs_truncate_item(trans, path, item_size - sub_item_len, 1); out: - btrfs_free_path(path); + btrfs_release_path(path); if (search_ext_refs) { /* @@ -238,7 +229,7 @@ int btrfs_del_inode_ref(struct btrfs_trans_handle *trans, * name in our ref array. Find and remove the extended * inode ref then. */ - return btrfs_del_inode_extref(trans, root, name, + return btrfs_del_inode_extref(trans, root, path, name, inode_objectid, ref_objectid, index); } From patchwork Tue Apr 15 03:38:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?5p2O5oms6Z+s?= X-Patchwork-Id: 14051408 Received: from APC01-TYZ-obe.outbound.protection.outlook.com (mail-tyzapc01on2052.outbound.protection.outlook.com [40.107.117.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 299BB13EFE3; Tue, 15 Apr 2025 03:19:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.117.52 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744687163; cv=fail; b=P6RTFJ9aty9eFruYWYJToHp+FI6zIkhisWIO3Z4dE4ClBrnuGldUpfG4KqfWWxGxGDnMlFO4epHUR3Ux0p7mW+NBy4XK9lS6T7vxXZ8pYd/hijQqSwZ9GO2RZahjUnPDiLO5sBOPmORjS8FNg2uqTE8BO1SNQtALz4zkZPf47Cg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744687163; c=relaxed/simple; bh=q0b4M3TTTy68KtFXlchvcknYh/oVESYWR1jXRy+2kOs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=cTrIvk5SI8BcVtsDGn+4iRzVqGcLcsLS+NaZ+eHciN2h7IYWusdX/SU5NxqOEaqf5TEVktN0vCaq8AGQVopn/wZJk3MqHWhFrIKGehwaJd7Jb9NNQupEhaFKjjpeE5cZlMBV/ODCKEiKnPaCqvhmbfJS+DfS+79AX8ewJ3zGiNs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=vivo.com; spf=pass smtp.mailfrom=vivo.com; dkim=pass (2048-bit key) header.d=vivo.com header.i=@vivo.com header.b=HB5SYn1g; arc=fail smtp.client-ip=40.107.117.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=vivo.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=vivo.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=vivo.com header.i=@vivo.com header.b="HB5SYn1g" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IrU4tn+B7onDv3TiXchnr0870BTwabnUywosofWL0Qy+VEYprC/o234qSwinmmtAdpInEH4G2XFpoyxk2C0mw54s9G4lWJGW+0x7gPT0aiFW9IVHspxW/D1IWNWwp9CSQAM3qgcOgyymL5ADxlboZmbXJXfe3B+933O3b6MHs2O82tUJctw/Bma9kmtf0TLc+Q4mL3bzgJNGV0fiBbwn3dnTxJeOdbmlrkK3LBRa6YGu9sDe+ko2qSVA/bvAcC0D4zyvpQlgflPwBmuy3lo2Hg0dmqrFz364JFxo+pavDaJZqJBhWbZ2EwlNrJSjdgt65iJqL8GunbPKubdkA0YTvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=oo4i8JaJgfJ85ybghD5Dw0dqlaoOBccGvljggKm8gGU=; b=BYG+a8jasrmv90cKrsO/snkBeUXFYOJ0gW7TvSX4/ZK3YXPn4hFbLb5iOGUOMoeLiu/8U5fw8T+k1+qh74nqf6TuZEWyKnXB57USwI1qoBZZemCZMfGBgjrdMM0+3h3p9iNLUGTx+R7SStd3uqtmMXlWWSoPZahZp5dWv4BJEYzW85Ga8QqWEPd2XraoikhmcLTVuBl4W29K9T/DKu38pfM5XErLA5FkLZmvaW8Ec8rtmpzBuE4OjRKrMD8iAHYVQ2LCdg06T9kLaFtrWCPalr/Pm8k+V8S203kQAzkWRxDBetwziDAHeR8u3v88NVsm5rv8B7AjwqwRXY2GYpRwIg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vivo.com; dmarc=pass action=none header.from=vivo.com; dkim=pass header.d=vivo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vivo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oo4i8JaJgfJ85ybghD5Dw0dqlaoOBccGvljggKm8gGU=; b=HB5SYn1gfMqMSd5MmCz8kP1YXIVowMR/gll/fz1hruW7lHOETl8a0spKrH69Tc8M8bZ6pWxbNEgydH/VrZPRelzykN7G0X+pa4fExHD+BCCi8/v3i7wlXHfPww3rx2s+5NBRUtjvcyDjvLiHPaaxQWEuHdtvi3+pc28VeYrA6ib4SEFVA0l8oAmR+ldTsnM6486wF3w9cjiTLNtI8MTRI4cSaEsoZ/MB9ybugfgmk5Z99Lcxl88nc+XgJF/Kt98reNRc7emwiUIbqZYWEnJqd2wq/ONpXuegX9KRArqQ34bNw3QghJ73YfJJYK4NQVM3kd9sFFxDnrLOgtW7RH1huw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vivo.com; Received: from SEZPR06MB5269.apcprd06.prod.outlook.com (2603:1096:101:78::6) by JH0PR06MB7106.apcprd06.prod.outlook.com (2603:1096:990:9c::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.35; Tue, 15 Apr 2025 03:19:17 +0000 Received: from SEZPR06MB5269.apcprd06.prod.outlook.com ([fe80::8c74:6703:81f7:9535]) by SEZPR06MB5269.apcprd06.prod.outlook.com ([fe80::8c74:6703:81f7:9535%6]) with mapi id 15.20.8632.030; Tue, 15 Apr 2025 03:19:17 +0000 From: Yangtao Li To: clm@fb.com, josef@toxicpanda.com, dsterba@suse.com Cc: linux-btrfs@vger.kernel.org, linux-kernel@vger.kernel.org, Yangtao Li , Daniel Vacek Subject: [PATCH 2/3] btrfs: get rid of path allocation in btrfs_insert_inode_extref() Date: Mon, 14 Apr 2025 21:38:53 -0600 Message-Id: <20250415033854.848776-2-frank.li@vivo.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250415033854.848776-1-frank.li@vivo.com> References: <20250415033854.848776-1-frank.li@vivo.com> X-ClientProxiedBy: SI2PR01CA0052.apcprd01.prod.exchangelabs.com (2603:1096:4:193::11) To SEZPR06MB5269.apcprd06.prod.outlook.com (2603:1096:101:78::6) Precedence: bulk X-Mailing-List: linux-btrfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SEZPR06MB5269:EE_|JH0PR06MB7106:EE_ X-MS-Office365-Filtering-Correlation-Id: 4b977857-0f14-4deb-9985-08dd7bcc4e62 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|52116014|376014|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: ZNgGydi+5frkhm9KeGAWh9zH1dSBhex7gm1fi3ZRFMlWJ+Ticm51myJfWqpXKoJPnJ73OiRuJ4JGKK9BYwHhse3Ttg1pikLuYXfKxoBXcAGJ3b1pD0fuKWOzL5Boy96GHBdhb7LCS0rsdjs/d+heOJwLUkTrJAB1pYjhvlEG20/97Iq0lI2KFJduOdfV33QsChE+U3J/uc0VxrXgb4A+9sxnNQBj/5X56XBPBYPeHzSgxMq77hDUZ1dzGjd1yD60UJSgWRB0KkqwBx6MSLrrH4LwIMPKJWoN99HiMFixld9NicIKo41FG88XcyuIB/YtFw6ntvShoXxl8nZ167qdP/EZO96lc0Pj5P5f7vup8Jz2LJpItKC/t/IcVIt90twCYwisqEBHiYHTu47yXx2/N1NfAiw/iIgljPAdJijsgRGDNxL78dR20Eld2dzWwIXQY+IC851iKcnCqR3uQMXTc7GVef0eIXKIaq1f33AzSl6VTG4XCrqP5L+mJrI306tc84dJl2aDh46A1a+Gj0w7ogQFlx+ic1dXAajd6dxmxZNcOSKcG8HQLeQV7BaIAqSLJ5kAsNdUSv1+tKu+Q+WLqpnIJ+xurzPD24hLAghSDTRJTBtTey/oM+w5UtAg+dWP5CBqQDliTNklIdph4g63pOfIr2jo47/Un2D7QOO6K08fzMXsyxYqARAT4C2h4VFdCkTHs8bPI82yUzLQVKjk1vs3KYCLR4aq62nucWzCe4IN86xeFymrc5OAt9a28hp6w378LBIIKptnMHFRGRqk50pdwF82Mtw3uBhdiQjS6NHIjVRCkSEGkQdrbKNYA1qwuW5K6tO2jB+SnO7Z1TqQU7lCrhq/97qphhxYZwJeotYB+wYCgecyaW8rP26eS5Et1faq2gjY6fgkDEWxYmLTU7jcaAvy2H8cLrWZEsyqX+0LE+pCcxB91dT8M6gb8xz9SW/QjBtExd0RURGrsz0RiahUt7ZFuZBx7jKTXD+YHq2p0y3F7Ma7sqbYG6EvfG9NcZxBRGCSaysgg11s2tTxAU4EU8A08rWXlwtimhPX+BO2PfYWI5I6NV17yVY5eIDkUYBwjaiibXZj8L25Bh9/dddnCBfir3Uyz0/mujAygxGVRGt+zt6jfPzR0Qlq+LZ7cy/IaHgiduroOD2XqUVpYGwziFxdkiBhEl2p8c/BQROOKzUv3Ec73iSMr5OqY8P0C04L7rRIePUU38M2D08/qcY03L40HVbGeCFZhqXNu/KckEkVfh5ndHMsxpG60jyR9wXYjS4KPyEG0LgH2dFPtCu+3/eaq5VL2Y6BeIczPMcjXjxiJpohiT8A8v1B20T9edkn8azy9Jzjy+ySsbV2FGujU+d0kyLzLitXi2SUDeLx31KPjEsXN/a87KNCH/eMYxtiqomY7FLU0q+IQN2wJbsNQiVB64r8BP0cu3jW5eSlfBW+00tQ2krZkPuECeD8n8zU69AcUn8cspICctkqFg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SEZPR06MB5269.apcprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(52116014)(376014)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: mLpkB0lGif5Snx9y3fhrhipbLF894IzDUia7+DvHNoSf/ThiHFZZZBtO0bwAdwwYCCV/TdiH/b/ltvXdfn6u6HurrTWaQ+8tIGocNb8XjlxOrsg2Gl5RYTMfWe689SWxxUnYx3W/MXbO9yzXN1GmLztNP5V40GD5/jZSRlac18fCnGl7vJJ5aAw9rshXO8gV1pujWb68mMAIYdyaje2fbVMy563uhBkoHwHyUsrhFl5UpG8HjQzFAxsidJBJBHWQcNAC7Bqx94qEvhM12YzC8pEPZJMeI9GQXRHIgaImgua1YMHi4eF3NIHMgjU88x6QSkalqG3Z2oWQkT5X6Y5UgXiHaUr2ZpJpab84odS7byLrpuKubEEycqzy/Uwjn50HI8OZRem90WOF9eneIDPDGhAFcAK7iMoPaa2ZvOdxSGd7W0Vw5Y0u54J56QZgmosG3z6jDlHfC8eUjpkrcbw2uB/lCbpUc2/KOawskppfIi5pJtIkIKSHJHctcvwPxMouumXAZfDUF2aMwscm8nxYm6wugJBogNOvIX++qJtgky0uy8oOZ6w/85kHUeyviLvOwDTffeMH3R7zPW0jiHZQD2JAKg6AuDMhUwLLVpTenLsLi8E9hU//dQjsQQhTbi45YM8GeSAyLdWaluOy8H9HLfZSNnpwp4xq3ZVyS9x0Pnx31yKqRkq8gcobQ7J57x39C3/Fv/GhPryshvXln+vYvz34nnJvlR98oWIVstIxnqwGvqdtFb2PVPe2OuRHF5ykgnM0eWHDhq5mUZXcgvnvO2vjdulswW9UhDIPC3JUF7CcyA4WMtfOywknPSBQyIdcFaZaLeVISSHHu0RIsBMzbIM2NjOLFSqTCxu2gDWkCmCvtDQnbLkGAUht7G9IUaeXnkoVUe9yPv5hdLrxpnpFr+o6jNgrBjjCk0yYZLbJMUiChJYJNwyz+PgrO7wxumPPeQTPifjyi9FOcrhmy/FQmnT+EnCFIeO64Mb8NvDV4lMuXa9/sjzfng5du/uNAxxHA0UqQOq2Qnsfwr6lRbza8n40XTMZWzZZrvIt6p8f8xBdtkqrqUMUjpHkVQN7Zt6+QcChaL3sQ7CUjLazznopnOGhpAA3tHq1bKJ4Ch2TNJkxRQXVh3YqjqCcL0NMCa1Mix4GUoEOmK+n3YiUbMdYOgtkIwY4eKgStrXA+eV4M0O17a43nx2iPsyjis50AGKXdsrdrswrycYWCLKch+VMYzHnilvV0E5gEB8gSMW93tF8Nsg4d8pGRkznfzS+ZV5FlwCUuWbNauseNjF/dh0hjTVRJga2YWKuDfvidabxHoCHZBPtfjlUL9zlRQm8ABI3fPcdcqqnVp+GO6g5gShWY3J1CHHNNHehkuIP9T0kdGOVaVMU7kricD0LgpCVNywbuq5ymYQls+AtfyiUz1f5wAj8KpIIn0hRCxOHu/M5qt8Evw1cpgQkHnPtsFYdsc6T6/1mogxjhUEWtKATc3DjylWkrqfrPP/g6NNKyva4oFDcBPc+A1h0Wt4Mpn7joK/gM1FpkvjmKQD4DDKpg6PXcjy41G2ZLUvm/eEfUCY5oP1LfbQUAptsn1XvtWix5sY3 X-OriginatorOrg: vivo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4b977857-0f14-4deb-9985-08dd7bcc4e62 X-MS-Exchange-CrossTenant-AuthSource: SEZPR06MB5269.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Apr 2025 03:19:17.7607 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 923e42dc-48d5-4cbe-b582-1a797a6412ed X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: MMpiHgiiqPuIg+LAmJtib0LFUbWDAGqgDqjmCtTaxQTnNsYuCPNKe5/t6IhPdgD/bwJqGzUOLI2RUv+U8XGi2A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: JH0PR06MB7106 Pass path objects from btrfs_insert_inode_ref() to btrfs_insert_inode_extref(), which reducing path allocations and potential failures. BTW convert to use BTRFS_PATH_AUTO_FREE macro. Suggested-by: Daniel Vacek Signed-off-by: Yangtao Li --- fs/btrfs/inode-item.c | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/fs/btrfs/inode-item.c b/fs/btrfs/inode-item.c index 693cd47668eb..ff775dfbe6b7 100644 --- a/fs/btrfs/inode-item.c +++ b/fs/btrfs/inode-item.c @@ -243,6 +243,7 @@ int btrfs_del_inode_ref(struct btrfs_trans_handle *trans, */ static int btrfs_insert_inode_extref(struct btrfs_trans_handle *trans, struct btrfs_root *root, + struct btrfs_path *path, const struct fscrypt_str *name, u64 inode_objectid, u64 ref_objectid, u64 index) @@ -251,7 +252,6 @@ static int btrfs_insert_inode_extref(struct btrfs_trans_handle *trans, int ret; int ins_len = name->len + sizeof(*extref); unsigned long ptr; - struct btrfs_path *path; struct btrfs_key key; struct extent_buffer *leaf; @@ -259,10 +259,6 @@ static int btrfs_insert_inode_extref(struct btrfs_trans_handle *trans, key.type = BTRFS_INODE_EXTREF_KEY; key.offset = btrfs_extref_hash(ref_objectid, name->name, name->len); - path = btrfs_alloc_path(); - if (!path) - return -ENOMEM; - ret = btrfs_insert_empty_item(trans, root, path, &key, ins_len); if (ret == -EEXIST) { @@ -270,13 +266,13 @@ static int btrfs_insert_inode_extref(struct btrfs_trans_handle *trans, path->slots[0], ref_objectid, name)) - goto out; + return ret; btrfs_extend_item(trans, path, ins_len); ret = 0; } if (ret < 0) - goto out; + return ret; leaf = path->nodes[0]; ptr = (unsigned long)btrfs_item_ptr(leaf, path->slots[0], char); @@ -289,9 +285,8 @@ static int btrfs_insert_inode_extref(struct btrfs_trans_handle *trans, ptr = (unsigned long)&extref->name; write_extent_buffer(path->nodes[0], name->name, ptr, name->len); -out: - btrfs_free_path(path); - return ret; + + return 0; } /* Will return 0, -ENOMEM, -EMLINK, or -EEXIST or anything from the CoW path */ @@ -300,7 +295,7 @@ int btrfs_insert_inode_ref(struct btrfs_trans_handle *trans, u64 inode_objectid, u64 ref_objectid, u64 index) { struct btrfs_fs_info *fs_info = root->fs_info; - struct btrfs_path *path; + BTRFS_PATH_AUTO_FREE(path); struct btrfs_key key; struct btrfs_inode_ref *ref; unsigned long ptr; @@ -353,7 +348,7 @@ int btrfs_insert_inode_ref(struct btrfs_trans_handle *trans, } write_extent_buffer(path->nodes[0], name->name, ptr, name->len); out: - btrfs_free_path(path); + btrfs_release_path(path); if (ret == -EMLINK) { struct btrfs_super_block *disk_super = fs_info->super_copy; @@ -361,7 +356,7 @@ int btrfs_insert_inode_ref(struct btrfs_trans_handle *trans, * add an extended ref. */ if (btrfs_super_incompat_flags(disk_super) & BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF) - ret = btrfs_insert_inode_extref(trans, root, name, + ret = btrfs_insert_inode_extref(trans, root, path, name, inode_objectid, ref_objectid, index); } From patchwork Tue Apr 15 03:38:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?5p2O5oms6Z+s?= X-Patchwork-Id: 14051409 Received: from APC01-TYZ-obe.outbound.protection.outlook.com (mail-tyzapc01on2052.outbound.protection.outlook.com [40.107.117.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1814420FA90; Tue, 15 Apr 2025 03:19:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.117.52 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744687165; cv=fail; b=ILVXtVSy/hhEZOyX3OzLLesY3AO9xCu4wbTya889j6Wp93g+RWOWZUf5IsqlENeVOaxdrxgZEyKYaLMantqu9h0bmZ7QMRkGpKpT9+5Fj3619JtYFY7HM+J30+0MtprowtxJNCUk7bddws+AiM9Bu5kwkUklAbSMkgFnF3t1840= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744687165; c=relaxed/simple; bh=fAnYlYafcmgu5kd7gOOE4PjC6jvIXI30jbA3AkYVVgM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=b4yKO3Gc1K8NNoH4WpKfKrV9QIgv5G65eKqKvCSmAgBNq42olP8YxC0v0SghOGtBWloNeCyZdYkHlD44cfexcF/AIvKadSJy9OT5rJNMqrjGOyH7W5vGLR6c7a+KygOACiDgmnUiQujKSpOlawQJ+tqOXp+PmfuD/wOZaTv+0Sw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=vivo.com; spf=pass smtp.mailfrom=vivo.com; dkim=pass (2048-bit key) header.d=vivo.com header.i=@vivo.com header.b=D2kqH2uX; arc=fail smtp.client-ip=40.107.117.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=vivo.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=vivo.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=vivo.com header.i=@vivo.com header.b="D2kqH2uX" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hwW7QzVr09SIO0DquhBLZMwWODjTSaAVenZ4Rsqm/BtLz+gi7iJL21SfO3zjkqtwHqYZSW70gTD4HUy1iW5y8T4LZ6UEO8A08uu2tZvVc3lc1V2TSRbuA2q+ceknnFGB4DJavPAtB9FVWQIwKFEKnrVFifaHpVxOqf+BM7gMlr1xVF2g36AzF2rc4RN+UMuMictBe/wqQzXroQ853h7BBomYeOHfVrbzXJ9jaXPHt+B6YVZUq8mlhMXppZrYKoL1/qxBfuPt61TTQN4DTaTvuMdpFwkzBMrGafcx3t3nFNR9Ti+KYIxo4TJLsFoE/q4+4/yvZanIDPA/KO9Ssve1QA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7BtzaY1k8HctZJyBIeac7YjOdJTMlB8IffUzN8nA4js=; b=i9L8jxlA9RCIqTl7UXlB1lu+32e92kZL3mZZCSlk2ENi0hAyRSoans3lOEKgZ2EmGcKWPgQAr9r1o30uVnZsf+UA66O7PlA/EpPgMMzCeOAFqo00q/09bQ8fcFCT7R53R6gCy2cgXjOjjgMKrZExfVp4zHcxPDGADIE0CRyWTmOI8EnuALc+0C10zWZCKA++Dx9Wvw5GgxgxTHFki3+ObycFbAw9EgcPRG6ONQjTvmiUkA0D0vxcTcSzx5DHUyCrEv00AmKxc9M/VwhKGxLyxFkw3A973US8DU4KG6iDrYluNo24wr6R773VIz3k+AUEVUaQhsFsdc0GC+WPTcqFuw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vivo.com; dmarc=pass action=none header.from=vivo.com; dkim=pass header.d=vivo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vivo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7BtzaY1k8HctZJyBIeac7YjOdJTMlB8IffUzN8nA4js=; b=D2kqH2uXtu3s9J8rqzMjgCu3cuIohp+pjSCXL/wlTYVqoAWjG77hDMrRZkYAtHCNWaw72yU5HuUk6TK66sf0Ftm8tzolBp5cyEEp5+hYYHDiuPUUqw3IfsOu94aMFJg40iahq+hfAJRRXyNZiGbFs82u1vlIwCTymhpHVJItq4fBWXQS5HbXUmc9kTctVQarwL+VZ9ntivFtNWgoBRR+7EOWW+7C6rNHpUyNDSomIU+u+4w8Qlw8K9Ekl1VTFH5g04jrv0lufHxcERob4LBrRQa6uk9vhFAlSfYvV4lbxmMX0CIU7rzcoKQAUA6n3CLn+4sHCpIIsaY68aCtgdoJIQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vivo.com; Received: from SEZPR06MB5269.apcprd06.prod.outlook.com (2603:1096:101:78::6) by JH0PR06MB7106.apcprd06.prod.outlook.com (2603:1096:990:9c::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.35; Tue, 15 Apr 2025 03:19:19 +0000 Received: from SEZPR06MB5269.apcprd06.prod.outlook.com ([fe80::8c74:6703:81f7:9535]) by SEZPR06MB5269.apcprd06.prod.outlook.com ([fe80::8c74:6703:81f7:9535%6]) with mapi id 15.20.8632.030; Tue, 15 Apr 2025 03:19:19 +0000 From: Yangtao Li To: clm@fb.com, josef@toxicpanda.com, dsterba@suse.com Cc: linux-btrfs@vger.kernel.org, linux-kernel@vger.kernel.org, Yangtao Li Subject: [PATCH 3/3] btrfs: use BTRFS_PATH_AUTO_FREE in btrfs_truncate_inode_items() Date: Mon, 14 Apr 2025 21:38:54 -0600 Message-Id: <20250415033854.848776-3-frank.li@vivo.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250415033854.848776-1-frank.li@vivo.com> References: <20250415033854.848776-1-frank.li@vivo.com> X-ClientProxiedBy: SI2PR01CA0052.apcprd01.prod.exchangelabs.com (2603:1096:4:193::11) To SEZPR06MB5269.apcprd06.prod.outlook.com (2603:1096:101:78::6) Precedence: bulk X-Mailing-List: linux-btrfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SEZPR06MB5269:EE_|JH0PR06MB7106:EE_ X-MS-Office365-Filtering-Correlation-Id: 3857c046-8239-4134-a1a8-08dd7bcc4f88 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|52116014|376014|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: r1kPo++BGi/JPVRaSjedRokrHYQsQorMG7uzhj6bi1aFn9zX2SfkRwkzbU+KP5CXVoOa/aNOCxwQvYtU1dun0PCcSEuIE8nThAyzDgjMQfZK9ekrDitTznwvWdQq7SPgjLAxdcBGl1BOm22JvYxoYxbZKkLQK3xqKYyLQGQ9P0TuLbRjmE0Mrp5DJHvCht78q00FIQdyB15Pq51yayjrsimn4XF0Y4OLmNdYtKxRmJhIG7jqumUeI5RrRpTr5WR27nOdOTh6xvKkAWII5gDH/TJVk8zLsFCJHNfU/K3cUfY/ESBB7/IWHKdJVz4AHNgpT17EPDi9gYEaFRBJAlWgTJdCFmcrqIRo7eFVVtMuoa2NjZmDOUpqmtJL/SgjDyKlMk+uVb4a67i+vMWYty0WGaUfZzKL94EZeTwQ7GdXAhKITvucDSDqnGewwLh0MSrgySQEm/fCQ+/PzZH3GXEfsawVx63xbmCB8h3plrv3Ja8LRlcVKuJFRjCPgpwjtAqwWPh8OviqImAV8ygY09hCNeZGcbmPwiLncQpXNx8uPHd6rHsQeEHjK6Rk4OVxyxk/9+Xs7CBWuy0mOmA6Rgz8XqOauRanKo+IY1wFno+IxjlfBquye97SB9ujDSZOgXFE5XdykMfK/Q6ST7ahi5crVAaNq0n5FUTMax4wZdhll80H7kXbqivQbhuSgnetUALBzWYVcdbjngnZ/VVrEAUhkjuKJkFPtyM25gee54MjQTs1l0FT97mQTvDbf/2X4VzdNdPfo5KWOm/PvsQ0EWKiguSnJjCp7Y89QjIRKy4QTncg/Cw9W9WT4N01drbU0FAClvVx0QXsI+pvTR8h5wqdnvoTAQSJha3TPCldz14oO4kPWbRjbQ85skJdJ1xEM9+XkLmRe/wYShqm9J6JSnWX0BLBNEUqAZ7UV4EdXeX4DBX0EI/ppukDjR2EWEP9CuMXnkp/OzPiSuXUNJyX8VGoo+UIAxAPQaf6667rhWp5AzkDonSYt4Ty+X0LR/Bit+kzMTTbiNi+zXd8Z0BkVAgM3ubxO25l7ztw6M/TQWNLMgzeMRatotkYX+4t3eawdEfhlleJ7aTkmOQc8kapR7071rB0leUZk/FivTrPa7pbhMyAgj0RFb+7K3YYVybvTrJoNAngGfnf7CiXJ0PU+AFQ7+BdMS9Dk10uopxGYCGGwLyDdk7YETFnJeBd4FIepQZF/e2cTwBDs5CxPWy2tN82MMt95v71fMSoHsD4DFyMo4AwM20uBaL7mWozDb6C/G/Vio2g3nyvnOhCd1QKh7mQecJjGXN/4Iq7qLQqog0lpLLjKo67Ws/Vkz5drz2xjo0eWl+hzIKwxGhNbQlomaesBeHENGscl+VJIDeLPzQqDqZy0ph/SLrmQCzRpfoNiZqAAZC+zBp0HSFQDpg6qAhMQlxNrtNvv2KEzEHEXdeCLXTwn2AHW5iYJGah8shJGRbV8J/l32T6qfsUTtllEfYkmQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SEZPR06MB5269.apcprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(52116014)(376014)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: +wz2mRdzUGrW2awwDwknKi5/x5J5Vl0/G1+Y0Nve8mk5kNdMe99U+DNgMsFmvh5EU2RrsViVaCRPWGp6CxGQrmYkbc0m0/tlfbbhez5ROxmi/Yaw0DmjMbaUVdOphAzGDL8yoJLa0/c1+kH98eOHgDfBRrNfl3+Lrg4l8UUg6eN3HCizfN53oapeOtT/X+FhXs5ooglLa8xce8YnJNlQ8ZRN/ylounewq+3p3WitHgOfWHS+yfCxQWqFm0xRmfS3Xa0JXzOw7kVOjOhldtoeaNhyS+4o3x+P2z2BHl11C7bmbNISSpVsiC556jrn73G4oXwghQzBt4QNB789AyLJgSheNxM4d4PqA5Gk3UmqmTDWeVlqob3Fsk2u21XTX8zjI5YGrODV9774OrtMAVPUzXmZKzJ3x1ipTa4H7Drt66uKYWTuy1CtIK09CpJSgXTUcSEnzuhMQi7XGUBTPGQFOi5BIItKmzNWTrROvU1qvXDzhuxY+tzh9Ttslm7X8uI02LFpSLdrw15c/2UtBcBSyUal/Ss8w0hlnTDQG6RNCbRJASEVSXDf2ejJyzbW8CNgheCPUDymbF7/kXAHDwebYtG4c9E3jPoSz6k1PqLNpytOqIaywDzsoAR185ma+x0MIQgp3bgHabNsb1k8mP8zyoaLqu7Tfw9V7qSQzKMonQZQQdRmLI+RQTuos7jDeiuyEpSTvDdWqWNZCMGCDb6yxBhSTIcGVmPuqKu6kB/Ew0ljn2u/Kjma2vJKfl5uxRBvD9s+caSCMw8UBHWp6mnKYQA2m6ou2lVPQhL8VaFrYTcJ4sD0Q6skjKKvoOJ6ZwR4UrLDzXLJJiSx8GwBlpvngSgH3uHKX6mwzPyfKd1MjsCC5qH4FQHBnShLzWVQa8JIKmfa2/+yBRbA875hjJwOoVwix/94vx5IDmD6rx0zxZLg47agm9Dh4nu6CVrd3hqVlurT/Fpu10KH5DtoPBViHjDZu1iahLpPED+vR19cNsWtzAgMfDxZDGEc/hYigjsBc1LQiBMbHxeJ0XMy7OQt69S6fnxFmkCQ/TIp7RLjLHgegLxwP7ebgh4JZU2Zb+/DhBw6HizymlabaKj7f7jbky5Tp7HErtlVK2Dlswqd2gpRVA4aqDuir+mh3121Xygmb9AJOlHyVtMFiuSJ7+CwyMjjDlMXuIQC5TJp3+YHoYAQHgmFjSqLlTNO/bClSdi8OWaEeF87QXTQHuzyJQNu+Ve43enb3c//BgtWTWoMgv2JtzfKCApWYmP8gAq+2YWpqhQzcqvgey/vKog4xs7YqiRVHf2w/ZIgfhGjQypdmkZ9EaMA3pu/eruhGExXTLcJf2mRXGuLjvODh9Ta0SAq+Ku/5o0M8UkAdDJcFUqdL9enFgfxKa9wqKXFr/uWcn3qDYESByMreoz18bLM8QXrKeA4/yzaba7tqnwAiUFg/K8O2aBxXt/b2H9JS4Ecm+Y0NLGMsRVZof+bSa0n96kJlFniDa4T+CEzcwTikndDZPU2qUKZCXxEGdNgOXtE3kVcXu+sZtH12N2Somb3ADWz3rUTnM4PRmgDw+MziQQOQOB3EvhxnA6olxUMSEqHds0w X-OriginatorOrg: vivo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3857c046-8239-4134-a1a8-08dd7bcc4f88 X-MS-Exchange-CrossTenant-AuthSource: SEZPR06MB5269.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Apr 2025 03:19:19.7123 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 923e42dc-48d5-4cbe-b582-1a797a6412ed X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ltNZKOV4gkEUzr8ziNplu8uZj3Z/O1Uy8/WTyhA92ZB5p3O9VH9fzbncdmCwg5xzSHJ/4EWW6srlndAU6su6xw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: JH0PR06MB7106 All cleanup paths lead to btrfs_path_free so we can define path with the automatic free callback. Signed-off-by: Yangtao Li --- fs/btrfs/inode-item.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/fs/btrfs/inode-item.c b/fs/btrfs/inode-item.c index ff775dfbe6b7..c702597174f7 100644 --- a/fs/btrfs/inode-item.c +++ b/fs/btrfs/inode-item.c @@ -442,7 +442,7 @@ int btrfs_truncate_inode_items(struct btrfs_trans_handle *trans, struct btrfs_truncate_control *control) { struct btrfs_fs_info *fs_info = root->fs_info; - struct btrfs_path *path; + BTRFS_PATH_AUTO_FREE(path); struct extent_buffer *leaf; struct btrfs_file_extent_item *fi; struct btrfs_key key; @@ -729,6 +729,5 @@ int btrfs_truncate_inode_items(struct btrfs_trans_handle *trans, if (!ret && control->last_size > new_size) control->last_size = new_size; - btrfs_free_path(path); return ret; }