[GIT PULL] Btrfs fixes for 5.5-rc3

From: David Sterba
Date: Tue Dec 17 2019 - 12:08:23 EST


Hi,

a mix of regression fixes and regular fixes for stable trees. Please
pull. Thanks.

Changes:

- fix swapped error messages for qgroup enable/rescan

- fixes for NO_HOLES feature with clone range

- fix deadlock between iget/srcu lock/synchronize srcu while freeing an
inode

- fix double lock on subvolume cross-rename

- tree log fixes
- fix missing data checksums after replaying a log tree
- also teach tree-checker about this problem
- skip log replay on orphaned roots

- fix maximum devices constraints for RAID1C -3 and -4

- send: don't print warning on read-only mount regarding orphan cleanup

- error handling fixes

----------------------------------------------------------------
The following changes since commit fa17ed069c61286b26382e23b57a62930657b9c1:

btrfs: drop bdev argument from submit_extent_page (2019-11-18 23:43:58 +0100)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.5-rc2-tag

for you to fetch changes up to fbd542971aa1e9ec33212afe1d9b4f1106cd85a1:

btrfs: send: remove WARN_ON for readonly mount (2019-12-13 14:10:46 +0100)

----------------------------------------------------------------
Anand Jain (1):
btrfs: send: remove WARN_ON for readonly mount

Andreas FÃrber (1):
btrfs: tree-checker: Fix error format string for size_t

Dan Carpenter (1):
btrfs: return error pointer from alloc_test_extent_buffer

David Sterba (1):
btrfs: fix devs_max constraints for raid1c3 and raid1c4

Filipe Manana (5):
Btrfs: fix cloning range with a hole when using the NO_HOLES feature
Btrfs: fix missing data checksums after replaying a log tree
Btrfs: make tree checker detect checksum items with overlapping ranges
Btrfs: fix removal logic of the tree mod log that leads to use-after-free issues
Btrfs: fix hole extent items with a zero size after range cloning

Josef Bacik (7):
btrfs: do not call synchronize_srcu() in inode_tree_del
btrfs: handle error in btrfs_cache_block_group
btrfs: don't double lock the subvol_sem for rename exchange
btrfs: abort transaction after failed inode updates in create_subvol
btrfs: handle ENOENT in btrfs_uuid_tree_iterate
btrfs: skip log replay on orphaned roots
btrfs: do not leak reloc root if we fail to read the fs root

Nikolay Borisov (1):
btrfs: Fix error messages in qgroup_rescan_init

fs/btrfs/ctree.c | 2 +-
fs/btrfs/ctree.h | 2 +-
fs/btrfs/extent-tree.c | 27 ++++++++++++++----
fs/btrfs/extent_io.c | 6 ++--
fs/btrfs/file-item.c | 7 +++--
fs/btrfs/file.c | 4 +--
fs/btrfs/inode.c | 12 +++-----
fs/btrfs/ioctl.c | 26 ++++++++---------
fs/btrfs/qgroup.c | 4 +--
fs/btrfs/relocation.c | 1 +
fs/btrfs/send.c | 6 ----
fs/btrfs/tests/free-space-tree-tests.c | 4 +--
fs/btrfs/tests/qgroup-tests.c | 4 +--
fs/btrfs/tree-checker.c | 20 +++++++++++--
fs/btrfs/tree-log.c | 52 ++++++++++++++++++++++++++++++----
fs/btrfs/uuid-tree.c | 2 ++
fs/btrfs/volumes.c | 4 +--
17 files changed, 127 insertions(+), 56 deletions(-)