[GIT PULL] Btrfs fixes for 6.7-rc6

From: David Sterba
Date: Wed Dec 13 2023 - 08:33:34 EST


Hi,

there are some fixes to quota accounting code, mostly around error
handling and correctness. Please pull, thanks.

- free reserves on various error paths, after IO errors or transaction
abort

- don't clear reserved range at the folio release time, it'll be
properly cleared after final write

- fix integer overflow due to int used when passing around size of freed
reservations

- fix a regression in squota accounting that missed some cases with
delayed refs

----------------------------------------------------------------
The following changes since commit 0ac1d13a55eb37d398b63e6ff6db4a09a2c9128c:

btrfs: send: ensure send_fd is writable (2023-11-24 18:50:53 +0100)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git tags/for-6.7-rc5-tag

for you to fetch changes up to e85a0adacf170634878fffcbf34b725aff3f49ed:

btrfs: ensure releasing squota reserve on head refs (2023-12-06 22:32:57 +0100)

----------------------------------------------------------------
Boris Burkov (5):
btrfs: free qgroup reserve when ORDERED_IOERR is set
btrfs: fix qgroup_free_reserved_data int overflow
btrfs: free qgroup pertrans reserve on transaction abort
btrfs: don't clear qgroup reserved bit in release_folio
btrfs: ensure releasing squota reserve on head refs

fs/btrfs/delalloc-space.c | 2 +-
fs/btrfs/disk-io.c | 28 +++++++++++++++++++++++++++
fs/btrfs/extent-tree.c | 48 +++++++++++++++++++++++++++++++++--------------
fs/btrfs/extent_io.c | 3 ++-
fs/btrfs/file.c | 2 +-
fs/btrfs/inode.c | 16 ++++++++--------
fs/btrfs/ordered-data.c | 11 +++++++----
fs/btrfs/qgroup.c | 44 ++++++++++++++++++++++++++++---------------
fs/btrfs/qgroup.h | 7 +++----
fs/btrfs/transaction.c | 2 --
fs/btrfs/transaction.h | 3 +++
11 files changed, 116 insertions(+), 50 deletions(-)