]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
btrfs: return errors from btrfs_del_csums in cleanup_ref_head
authorJosef Bacik <josef@toxicpanda.com>
Wed, 19 May 2021 14:52:46 +0000 (10:52 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Jun 2021 11:24:07 +0000 (13:24 +0200)
commit 856bd270dc4db209c779ce1e9555c7641ffbc88e upstream.

We are unconditionally returning 0 in cleanup_ref_head, despite the fact
that btrfs_del_csums could fail.  We need to return the error so the
transaction gets aborted properly, fix this by returning ret from
btrfs_del_csums in cleanup_ref_head.

Reviewed-by: Qu Wenruo <wqu@suse.com>
CC: stable@vger.kernel.org # 4.19+
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/btrfs/extent-tree.c

index ce5e0f6c6af4f74d56a27783c3cdff1d8caa5be6..014f956be66abf23b57e954f0b9948658cec09be 100644 (file)
@@ -2501,7 +2501,7 @@ static int cleanup_ref_head(struct btrfs_trans_handle *trans,
                                      head->qgroup_reserved);
        btrfs_delayed_ref_unlock(head);
        btrfs_put_delayed_ref_head(head);
-       return 0;
+       return ret;
 }
 
 /*