BTRFS errors btrfs error bad tree block start

Another possibility here may be to mount with the mount option usebackuproot in readonly:

mount -t btrfs -o ro,usebackuproot /dev/<btrfs-device> /mnt2

If that works, try again without the readonly command:

mount -t btrfs -o usebackuproot /dev/<btrfs-device>

If this works, your filesystem is likely still screwed, this doesn’t fix anything, but it should allow you a clean mount hopefully before the transactions that have errored.

In that event, if possible, backup what you’ve currently got by dumping the filesystem again:

btrfs restore /dev/<btrfs-device> <mounted-location-larger-than-btrfs-fs>

Then Try running a check without repair:

btrfs check /mnt2

If the only reported errors are something along the lines of errors 400, nbytes wrong, you may be able to get a clean filesystem by using:

btrfs check --repair /mnt2

Do not attempt a check in repair mode before verifying this, as you’ll likely cause more harm than good.