btrfs: don't get an EINTR during drop_snapshot for reloc
authorJosef Bacik <josef@toxicpanda.com>
Wed, 16 Dec 2020 16:22:05 +0000 (11:22 -0500)
committerDavid Sterba <dsterba@suse.com>
Mon, 18 Jan 2021 14:44:47 +0000 (15:44 +0100)
commit18d3bff411c8d46d40537483bdc0b61b33ce0371
treee756e0a4308f930e10c893c8a456dab4ce9fe09a
parent518837e65068c385dddc0a87b3e577c8be7c13b1
btrfs: don't get an EINTR during drop_snapshot for reloc

This was partially fixed by f3e3d9cc3525 ("btrfs: avoid possible signal
interruption of btrfs_drop_snapshot() on relocation tree"), however it
missed a spot when we restart a trans handle because we need to end the
transaction.  The fix is the same, simply use btrfs_join_transaction()
instead of btrfs_start_transaction() when deleting reloc roots.

Fixes: f3e3d9cc3525 ("btrfs: avoid possible signal interruption of btrfs_drop_snapshot() on relocation tree")
CC: stable@vger.kernel.org # 5.4+
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent-tree.c