linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/17] btrfs: some misc stuff around space flushing and enospc handling
@ 2023-07-26 15:56 fdmanana
  2023-07-26 15:56 ` [PATCH 01/17] btrfs: don't start transaction when joining with TRANS_JOIN_NOSTART fdmanana
                   ` (17 more replies)
  0 siblings, 18 replies; 19+ messages in thread
From: fdmanana @ 2023-07-26 15:56 UTC (permalink / raw)
  To: linux-btrfs

From: Filipe Manana <fdmanana@suse.com>

A few fixes, improvements, cleanups around space flushing, enospc handling,
debugging. These came out while debugging an image of a fs that fails to
mount due to being out of unallocated space and having only about 1.6M of
free metadata space, which is not enough to commit any transaction triggered
during mount while doing orphan cleanup, resulting in transactions aborts
either when running delayed refs or somewhere in the critical section of a
transaction commit. These patches do not prevent getting into that situation,
but that will be attempted by other patches in a separate patchset.

Filipe Manana (17):
  btrfs: don't start transaction when joining with TRANS_JOIN_NOSTART
  btrfs: update comment for btrfs_join_transaction_nostart()
  btrfs: print target number of bytes when dumping free space
  btrfs: print block group super and delalloc bytes when dumping space info
  btrfs: print available space for a block group when dumping a space info
  btrfs: print available space across all block groups when dumping space info
  btrfs: don't steal space from global rsv after a transaction abort
  btrfs: store the error that turned the fs into error state
  btrfs: return real error when orphan cleanup fails due to a transaction abort
  btrfs: fail priority metadata ticket with real fs error
  btrfs: make btrfs_cleanup_fs_roots() static
  btrfs: make find_free_dev_extent() static
  btrfs: merge find_free_dev_extent() and find_free_dev_extent_start()
  btrfs: avoid starting new transaction when flushing delayed items and refs
  btrfs: avoid starting and committing empty transaction when flushing space
  btrfs: avoid start and commit empty transaction when starting qgroup rescan
  btrfs: avoid start and commit empty transaction when flushing qgroups

 fs/btrfs/disk-io.c          | 102 ++++++++++++++++++------------------
 fs/btrfs/disk-io.h          |   1 -
 fs/btrfs/free-space-cache.c |   3 +-
 fs/btrfs/fs.h               |  12 +++--
 fs/btrfs/inode.c            |   9 +++-
 fs/btrfs/messages.c         |  10 ++--
 fs/btrfs/qgroup.c           |  19 ++++---
 fs/btrfs/space-info.c       |  51 ++++++++++++++----
 fs/btrfs/transaction.c      |  12 +++--
 fs/btrfs/volumes.c          |  21 +++-----
 fs/btrfs/volumes.h          |   2 -
 11 files changed, 144 insertions(+), 98 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2023-08-17 13:07 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-26 15:56 [PATCH 00/17] btrfs: some misc stuff around space flushing and enospc handling fdmanana
2023-07-26 15:56 ` [PATCH 01/17] btrfs: don't start transaction when joining with TRANS_JOIN_NOSTART fdmanana
2023-07-26 15:56 ` [PATCH 02/17] btrfs: update comment for btrfs_join_transaction_nostart() fdmanana
2023-07-26 15:56 ` [PATCH 03/17] btrfs: print target number of bytes when dumping free space fdmanana
2023-07-26 15:57 ` [PATCH 04/17] btrfs: print block group super and delalloc bytes when dumping space info fdmanana
2023-07-26 15:57 ` [PATCH 05/17] btrfs: print available space for a block group when dumping a " fdmanana
2023-07-26 15:57 ` [PATCH 06/17] btrfs: print available space across all block groups when dumping " fdmanana
2023-07-26 15:57 ` [PATCH 07/17] btrfs: don't steal space from global rsv after a transaction abort fdmanana
2023-07-26 15:57 ` [PATCH 08/17] btrfs: store the error that turned the fs into error state fdmanana
2023-07-26 15:57 ` [PATCH 09/17] btrfs: return real error when orphan cleanup fails due to a transaction abort fdmanana
2023-07-26 15:57 ` [PATCH 10/17] btrfs: fail priority metadata ticket with real fs error fdmanana
2023-07-26 15:57 ` [PATCH 11/17] btrfs: make btrfs_cleanup_fs_roots() static fdmanana
2023-07-26 15:57 ` [PATCH 12/17] btrfs: make find_free_dev_extent() static fdmanana
2023-07-26 15:57 ` [PATCH 13/17] btrfs: merge find_free_dev_extent() and find_free_dev_extent_start() fdmanana
2023-07-26 15:57 ` [PATCH 14/17] btrfs: avoid starting new transaction when flushing delayed items and refs fdmanana
2023-07-26 15:57 ` [PATCH 15/17] btrfs: avoid starting and committing empty transaction when flushing space fdmanana
2023-07-26 15:57 ` [PATCH 16/17] btrfs: avoid start and commit empty transaction when starting qgroup rescan fdmanana
2023-07-26 15:57 ` [PATCH 17/17] btrfs: avoid start and commit empty transaction when flushing qgroups fdmanana
2023-08-17 12:58 ` [PATCH 00/17] btrfs: some misc stuff around space flushing and enospc handling David Sterba

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).