[GIT PULL] Btrfs fixes for 5.0-rc5

From: David Sterba
Date: Sun Feb 03 2019 - 04:49:56 EST


Hi,

there are a few fixes that I'd like to have in the 5.0 release. Last rc
was skipped because one fix had to be reworked and more testing was
needed. Please pull, thanks.

- regression fix: transaction commit can run away due to delayed ref
waiting heuristic, this is not necessary now because of the proper
reservation mechanism introduced in 5.0

- regression fix: potential crash due to use-before-check of an ERR_PTR
return value

- fix for transaction abort during transaction commit that needs to
properly clean up pending block groups

- fix deadlock during b-tree node/leaf splitting, when this happens on
some of the fundamental trees, we must prevent new tree block
allocation to re-enter indirectly via the block group flushing path

- potential memory leak after errors during mount

----------------------------------------------------------------
The following changes since commit fd340d0f68cc87badfc9efcb226f23a5428826a0:

btrfs: wakeup cleaner thread when adding delayed iput (2019-01-18 17:27:23 +0100)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.0-rc4-tag

for you to fetch changes up to 532b618bdf237250d6d4566536d4b6ce3d0a31fe:

btrfs: On error always free subvol_name in btrfs_mount (2019-01-30 18:16:47 +0100)

----------------------------------------------------------------
Al Viro (1):
btrfs: fix potential oops in device_list_add

David Sterba (1):
btrfs: clean up pending block groups when transaction commit aborts

Eric W. Biederman (1):
btrfs: On error always free subvol_name in btrfs_mount

Filipe Manana (1):
Btrfs: fix deadlock when allocating tree block during leaf/node split

Josef Bacik (1):
btrfs: don't end the transaction for delayed refs in throttle

fs/btrfs/ctree.c | 78 ++++++++++++++++++++++++++++++++------------------
fs/btrfs/super.c | 3 ++
fs/btrfs/transaction.c | 24 ++++++++++------
fs/btrfs/volumes.c | 4 +--
4 files changed, 71 insertions(+), 38 deletions(-)