Received: by 2002:ab2:6203:0:b0:1f5:f2ab:c469 with SMTP id o3csp2631748lqt; Mon, 22 Apr 2024 17:31:39 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXAWrhinqD0G+lCUrhKvgIavqLSDHGBUd+BPrmfIm6P5fC9BhxT+Uzcc0YvYtJvcdgNoUkzs/cLvcRpLBwg/TWJJ+F43LNUdMRlpW66ig== X-Google-Smtp-Source: AGHT+IFNKoTXA+6/nQLWCH88CCr0aPSItV2chIhooM5hOsowXuHQOtUUvOXdN6OuxIwqMrU5eV6F X-Received: by 2002:a17:90b:3788:b0:2ae:92ee:aae9 with SMTP id mz8-20020a17090b378800b002ae92eeaae9mr1079478pjb.39.1713832298869; Mon, 22 Apr 2024 17:31:38 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713832298; cv=pass; d=google.com; s=arc-20160816; b=m/dZscPnMnHv7dk8GR6cWEdB+Ywm/Zp8g0DSUwvWmoy0pD+M2cTKf1YeQqLbNqu3ed pLaaoPvhC71ij2pB46irSbRpaSjk9SHeps799KfsC6vagRe4zJZilZpeBVQhe3bFr7HZ zdeS6/afe9V6rsTMeOp2PiQnAbhOz/9Xl5YXCKX+PuHJEVZLUYWxBDLcJ4jQ3izqGHkG KO+/rJQykoBcCu9a4RfFdSTyubmT6+rV2CtlpVXKj8LmzhnhPgLVFXlYJXfPs0+nyuCz 3BTIu0xfWkZwRV9qTUkleOhBtrMCBJyYM5m8iK9yQFnvvEVVTrmWcyvZ3Bkl6jg8/po6 YDMw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=/pAT2Wjha1pzUURrzCcFSg/sWO6TTqqOkC2tl7jv2Ns=; fh=6Z1AzOtVH0xnEaHK8ei0+h0zyWtON9w5Gn8n29SXEQU=; b=O9lxFuQHzswvJLYu1Kc5A0buLUP/agLVMGsYWhxK4mJnSVBl0rB1QzqcuyI+l9nVVg acD/1uhflzuAdtFMvUV17OOP5U5XJbkQPMtLv50pqlgLr+BD6UW5T+XcQHWt1rErGrVW VWyBxR2gHCs7VZ5Be4Af+MEFuobamxvtXwdR378bdmfqgNYrwOkrco/4hM09ZpWFS4hb QwQUFKhBCjpYE4ndgfXT529zT1oqiup9XnfDeQB35CBFv+u7YMFuGZNugsjZzhPB+21a 9E1VmBi/V7PHd4oMlu7UC2IuTb8fgKuE/1gafAxyg3+ujcXSsRR3Nw9nZG7Kw/UYxt1d k/tg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=pljnFPzr; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-154295-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-154295-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id m20-20020a17090b069400b002a2b83417cbsi10417453pjz.110.2024.04.22.17.31.38 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Apr 2024 17:31:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-154295-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=pljnFPzr; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-154295-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-154295-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 4DAD6B28E7F for ; Tue, 23 Apr 2024 00:11:54 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 8C8531581F0; Mon, 22 Apr 2024 23:57:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="pljnFPzr" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 B1978179949; Mon, 22 Apr 2024 23:57:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713830253; cv=none; b=ZFn5v8bQBrVOpgFGBWuvRjHQkz+NMlCERRoDJC3kHce4Ir1EDCpFNPmmiFLd3PLGExILyybCb0w9o64KjmDfFwUoPpZACrTzPL93RQ8fNrDwHL624qlHRM3WHf43+Wt/7mQrccZ+r/SvXnXrwm6eT2b/SNSISwft479B0Tqj2R8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713830253; c=relaxed/simple; bh=ErU6J01NlqqOHk2A1Cn8LQqGbYG5+wXsvVM7pMkTHbo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=f5qKzL8STiVZzpSg8aeMk/UnMidlMYqolQUlx23LRF4qZ7K041zXQsyfO9NJhWXcuRC/6mx1k4XPWZ7fVYULAcRHrSacSe09yek2BL7lVjx+eiqVRirclqopB6UXlsqhSPTLMLZIrWnC/t+tyun60+XVOYAcTzXuAzRMHVxfH9I= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=pljnFPzr; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 94A25C3277B; Mon, 22 Apr 2024 23:57:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1713830253; bh=ErU6J01NlqqOHk2A1Cn8LQqGbYG5+wXsvVM7pMkTHbo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pljnFPzrrC9f312kl13XZ4FGlnJVgIIthzi98DXcRfkGXRL7vbByWQBTILMSQU4EA t4uHj+W1N+eknTMXqSJBkKAULfB4vG/DZphJI4SUfewOaY3reksMSM8swzZSNJlsnX EV5qcoPKOOxntpWbdg86SI2+mZGS7iDmej37de+Mw/AjWWt1NBGP6er7rS9fQtWZID pN5Qq7D2kAARRH7MfXE8hZixRo88s6cR+zDkyP8EPAhxs2c0D7+VgUR0we8UvbbEdu pxiwuUEOnVW2m0M7Wo8eniHoQYvPp6FHZLUuySObM018H6L8CbpPidTyfVUQYSyXN/ PGiJUy3SqcMIQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Boris Burkov , Qu Wenruo , David Sterba , Sasha Levin , clm@fb.com, josef@toxicpanda.com, linux-btrfs@vger.kernel.org Subject: [PATCH AUTOSEL 6.1 05/19] btrfs: always clear PERTRANS metadata during commit Date: Mon, 22 Apr 2024 19:18:19 -0400 Message-ID: <20240422231845.1607921-5-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240422231845.1607921-1-sashal@kernel.org> References: <20240422231845.1607921-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.1.87 Content-Transfer-Encoding: 8bit From: Boris Burkov [ Upstream commit 6e68de0bb0ed59e0554a0c15ede7308c47351e2d ] It is possible to clear a root's IN_TRANS tag from the radix tree, but not clear its PERTRANS, if there is some error in between. Eliminate that possibility by moving the free up to where we clear the tag. Reviewed-by: Qu Wenruo Signed-off-by: Boris Burkov Signed-off-by: David Sterba Signed-off-by: Sasha Levin --- fs/btrfs/transaction.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c index 5549c843f0d3f..a7853a3a57190 100644 --- a/fs/btrfs/transaction.c +++ b/fs/btrfs/transaction.c @@ -1440,6 +1440,7 @@ static noinline int commit_fs_roots(struct btrfs_trans_handle *trans) radix_tree_tag_clear(&fs_info->fs_roots_radix, (unsigned long)root->root_key.objectid, BTRFS_ROOT_TRANS_TAG); + btrfs_qgroup_free_meta_all_pertrans(root); spin_unlock(&fs_info->fs_roots_radix_lock); btrfs_free_log(trans, root); @@ -1464,7 +1465,6 @@ static noinline int commit_fs_roots(struct btrfs_trans_handle *trans) if (ret2) return ret2; spin_lock(&fs_info->fs_roots_radix_lock); - btrfs_qgroup_free_meta_all_pertrans(root); } } spin_unlock(&fs_info->fs_roots_radix_lock); -- 2.43.0