From: fdmanana@kernel.org
To: linux-btrfs@vger.kernel.org
Subject: [PATCH 00/17] btrfs: some misc stuff around space flushing and enospc handling
Date: Wed, 26 Jul 2023 16:56:56 +0100 [thread overview]
Message-ID: <cover.1690383587.git.fdmanana@suse.com> (raw)
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
next reply other threads:[~2023-07-26 15:57 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-26 15:56 fdmanana [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1690383587.git.fdmanana@suse.com \
--to=fdmanana@kernel.org \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.