Received: by 2002:ab2:6203:0:b0:1f5:f2ab:c469 with SMTP id o3csp2629055lqt; Mon, 22 Apr 2024 17:23:53 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCX1a2Qk4mLKfumUZjXOl0Z0e3X8y3nFmK9EczAKS9ejwgSheujvPp5gjQIi7Xc/wRIv/JmuGbh3HBt0dNl/78MiTgA+9nnUVdPHkcfeOQ== X-Google-Smtp-Source: AGHT+IH1AkDFEkMce8tY+BXU0h7pioWY8r74vrXRMdz+pwE9CrshQCloxp8o9eQFpGOEfuRgDFWf X-Received: by 2002:a05:6e02:b24:b0:368:9850:82c1 with SMTP id e4-20020a056e020b2400b00368985082c1mr14791008ilu.13.1713831833070; Mon, 22 Apr 2024 17:23:53 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713831833; cv=pass; d=google.com; s=arc-20160816; b=LoPB0D9uhSGyi0zRJ+1tDnGBMOC8hcNYuz0WDH3YUMfen7VwI5jNpyfa0GB6Qa8+qz 93Yv5cWSRMspIyX+Z8AA29BMNGmJP4FFWq0zAXMdAbd4/Ze6Fh1bMyjrmxUlwgzHbZ7/ SJ/+8+RcLhDsyehS9Ts7XLxKDVNBmYcZQz5mjDqL1rs/HE85ekKCxlX/wp40rg+ZvqW7 GNrfEyG3JFB1HHGncKgZrr7WtLdlA9yVxpJHBEl3agFmtFgnflSxrNvY+I9NZ5PhXEfi V095GiN6KfaGLfkk5eJPFe1+FXEklH/4yv4s0Mv05gtJ4lHeTMZazLRf4Ecrdq//TJSi Nrtg== 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=UseHpygVxxKmbDe1QJv0QkgDshXZ33bnytGXfpy1RTU=; fh=6Z1AzOtVH0xnEaHK8ei0+h0zyWtON9w5Gn8n29SXEQU=; b=ov5DZg3e8yCXW5JZn0UI2B8rCf52oWEH7DPs5cyDEVu6IGy3teKIKvC50VQPGs9J2B 26BZ9D50zp2VWqY22GXywlLI4NaMAZP5A28xTf9NsVlBRK+nRakKHS/vDp7PsqF0KhOK BELPKydqepuH9YhXdYMQLATgH9vJ7EQlqiBOxog5VL6h+alDTTqGpG1McmZI7sp4KwO/ L0RvfttJgi7Z9gDWIFM6oXC4C3hbOJeTGlCXs76s3yBWhMeHJNe6Fr14m3Rc7kCh7yh+ cv4LwQYB1BMpO+BMGuNZbFBJWlg4vqknIwCF+DwHWc2rBinlxLTq8WRgNTQBV/lrHTXJ MUHg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=mZ7+ZdJq; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-154332-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-154332-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id m22-20020a63ed56000000b005dbe38b2cfdsi8716156pgk.494.2024.04.22.17.23.52 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Apr 2024 17:23:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-154332-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=mZ7+ZdJq; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-154332-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-154332-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 sv.mirrors.kernel.org (Postfix) with ESMTPS id 89AB0281641 for ; Tue, 23 Apr 2024 00:22:17 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1CFE21C660A; Mon, 22 Apr 2024 23:59:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="mZ7+ZdJq" 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 2B5831C65EE; Mon, 22 Apr 2024 23:59:07 +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=1713830347; cv=none; b=iOuQbx4tFzPNeBsde4XWhYCBNlkQA06Q2owRR0GGzRJkc010lZdxIkr89LKuG0ij5xkctnY9xBzRd2lWOw4DBnuvBaXV51UXAynC8O92NHxfk9aohELbB5/RaYpGaVtCHrceeJIFeBnA1kf4qdqGeyyV/yxwSNhqetcYa6epC4w= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713830347; c=relaxed/simple; bh=h30kKFH62G6DEMeMOAHw7ig+j5I/udilBJVWhRVG2Ys=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qC1bxOlaKjJOQiPt7Wos9TGXCJPP1Ojy2pt9stCsb3IXbQq9gK3A7mTZ5uGagSgQAsTBpHa/TdrQ4k4z8XZ85tzOkCIeKqlLFTjCIjpjk8r7tQ28ycv/LQqRGJSDEcpjpiKUXD2rT3X3tXCHlUluyAV9F+CGJaxOiSl/Q3L4Rpg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=mZ7+ZdJq; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 12DA5C3277B; Mon, 22 Apr 2024 23:59:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1713830347; bh=h30kKFH62G6DEMeMOAHw7ig+j5I/udilBJVWhRVG2Ys=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mZ7+ZdJqAtgiABijc4sGps5UsMEeo4LSp2Y/S80+IktlepxQ7IZfDDWzy80vBKUoI vdpO6DOj1TB7vl6z0/IZr2WfW0jCIrzfcnIFtrIL2rdi+sg+OUyJTpZ6KoyJct9VhU v68HqJfStTsKBr/q5riYwnwalhuaJR5Or1bExD4vXRxF/EZibibQnKx23+XblcCVk4 sEEBMJBrrmOlZv1CBRK0Jvy30ZwI5UP16qKhT6Ypq53HkUnPBhB8QGTSUCSlW8O2sB hEJmvJSgfwjMzi2fzkmrEtK4sB1Uw1xoYiKm8ZMmPUdBmrd+gJTg2hnD4mPDObf2um CXOjJ5NjQiFzQ== 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 5.4 4/9] btrfs: always clear PERTRANS metadata during commit Date: Mon, 22 Apr 2024 19:20:09 -0400 Message-ID: <20240422232020.1615476-4-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240422232020.1615476-1-sashal@kernel.org> References: <20240422232020.1615476-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 5.4.274 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 89ffc02554069..1d25bf0c55ccf 100644 --- a/fs/btrfs/transaction.c +++ b/fs/btrfs/transaction.c @@ -1226,6 +1226,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); @@ -1250,7 +1251,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