Pull btrfs fixes from David Sterba:
 - fix backward leaf iteration which could possibly return the same key
 - fix assertion when device add and balance race for exclusive
   operation
 - fix regression when freeing device, state tree would leak after
   device replace
 - fix attempt to clear space cache v1 when block-group-tree is enabled
 - fix potential i_size corruption when encoded write races with send v2
   and enabled no-holes (the race is hard to hit though, the window is a
   few instructions wide)
 - fix wrong bitmap API use when checking empty zones, parameters were
   swapped but not causing a bug due to other code
 - prevent potential qgroup leak if subvolume create does not commit
   transaction (which is pending in the development queue)
 - error handling and reporting:
     - abort transaction when sibling keys check fails for leaves
     - print extent buffers when sibling keys check fails
* tag 'for-6.4-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
  btrfs: don't free qgroup space unless specified
  btrfs: fix encoded write i_size corruption with no-holes
  btrfs: zoned: fix wrong use of bitops API in btrfs_ensure_empty_zones
  btrfs: properly reject clear_cache and v1 cache for block-group-tree
  btrfs: print extent buffers when sibling keys check fails
  btrfs: abort transaction when sibling keys check fails for leaves
  btrfs: fix leak of source device allocation state after device replace
  btrfs: fix assertion of exclop condition when starting balance
  btrfs: fix btrfs_prev_leaf() to not return the same key twice