[PATCH stable-5.4.y 0/3] btrfs: backport hang fixes due to commit c53e9653605d

From: Anand Jain
Date: Fri Aug 13 2021 - 08:12:49 EST


Further to the commit c53e9653605d (btrfs: qgroup: try to flush qgroup
space when we get -EDQUOT) there are three fixes as below.

6f23277a49e6 btrfs: qgroup: don't commit transaction when we already hold the handle
4d14c5cde5c2 btrfs: don't flush from btrfs_delayed_inode_reserve_metadata
f9baa501b4fd btrfs: fix deadlock when cloning inline extents and using qgroups

Commits 6f23277a49e6 and 4d14c5cde5c2 above are straightforward and are
part of this series.

However, commit f9baa501b4fd above is more complicated to backport.
Furthermore, the bug mentioned in the commit f9baa501b4fd might not
trigger on 5.4.y as its related commit 05a5a7621ce66c ("Btrfs: implement
full reflink support for inline extents") is not backported to 5.4.y.

Nikolay Borisov (2):
btrfs: export and rename qgroup_reserve_meta
btrfs: don't flush from btrfs_delayed_inode_reserve_metadata

Qu Wenruo (1):
btrfs: qgroup: don't commit transaction when we already hold the
handle

fs/btrfs/delayed-inode.c | 3 ++-
fs/btrfs/inode.c | 2 +-
fs/btrfs/qgroup.c | 28 +++++++++++++++++++++++-----
fs/btrfs/qgroup.h | 3 ++-
4 files changed, 28 insertions(+), 8 deletions(-)

--
2.31.1