All of lore.kernel.org
 help / color / mirror / Atom feed
From: fdmanana@kernel.org
To: linux-btrfs@vger.kernel.org
Subject: [PATCH 00/13] btrfs: some fixes and updates around handling errors for tree mod log operations
Date: Wed,  7 Jun 2023 20:24:24 +0100	[thread overview]
Message-ID: <cover.1686164789.git.fdmanana@suse.com> (raw)

From: Filipe Manana <fdmanana@suse.com>

This mostly helps avoid some unnecessary enomem failures when logging
tree mod log operations and replace some BUG_ON()'s when dealing with
such failures. There's also 2 bug fixes (the first two patches) and
some cleanups. More details on the changelogs.

Filipe Manana (13):
  btrfs: add missing error handling when logging operation while COWing extent buffer
  btrfs: fix extent buffer leak after failure tree mod log failure at split_node()
  btrfs: avoid tree mod log ENOMEM failures when we don't need to log
  btrfs: do not BUG_ON() on tree mod log failure at __btrfs_cow_block()
  btrfs: do not BUG_ON() on tree mod log failure at balance_level()
  btrfs: rename enospc label to out at balance_level()
  btrfs: avoid unnecessarily setting the fs to RO and error state at balance_level()
  btrfs: abort transaction at balance_level() when left child is missing
  btrfs: abort transaction at update_ref_for_cow() when ref count is zero
  btrfs: do not BUG_ON() on tree mod log failures at push_nodes_for_insert()
  btrfs: do not BUG_ON() on tree mod log failure at insert_new_root()
  btrfs: do not BUG_ON() on tree mod log failures at insert_ptr()
  btrfs: do not BUG_ON() on tree mod log failures at btrfs_del_ptr()

 fs/btrfs/ctree.c        | 204 ++++++++++++++++++++++++++++------------
 fs/btrfs/ctree.h        |   4 +-
 fs/btrfs/tree-mod-log.c | 148 ++++++++++++++++++++++-------
 3 files changed, 262 insertions(+), 94 deletions(-)

-- 
2.34.1


             reply	other threads:[~2023-06-07 19:24 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-07 19:24 fdmanana [this message]
2023-06-07 19:24 ` [PATCH 01/13] btrfs: add missing error handling when logging operation while COWing extent buffer fdmanana
2023-06-08  9:25   ` Qu Wenruo
2023-06-07 19:24 ` [PATCH 02/13] btrfs: fix extent buffer leak after failure tree mod log failure at split_node() fdmanana
2023-06-08  8:40   ` Qu Wenruo
2023-06-07 19:24 ` [PATCH 03/13] btrfs: avoid tree mod log ENOMEM failures when we don't need to log fdmanana
2023-06-07 19:24 ` [PATCH 04/13] btrfs: do not BUG_ON() on tree mod log failure at __btrfs_cow_block() fdmanana
2023-06-08  8:48   ` Qu Wenruo
2023-06-07 19:24 ` [PATCH 05/13] btrfs: do not BUG_ON() on tree mod log failure at balance_level() fdmanana
2023-06-08  8:52   ` Qu Wenruo
2023-06-07 19:24 ` [PATCH 06/13] btrfs: rename enospc label to out " fdmanana
2023-06-08  8:53   ` Qu Wenruo
2023-06-08  9:21   ` Anand Jain
2023-06-07 19:24 ` [PATCH 07/13] btrfs: avoid unnecessarily setting the fs to RO and error state " fdmanana
2023-06-07 19:24 ` [PATCH 08/13] btrfs: abort transaction at balance_level() when left child is missing fdmanana
2023-06-08  8:57   ` Qu Wenruo
2023-06-08  9:47     ` Filipe Manana
2023-06-08 12:26       ` David Sterba
2023-06-07 19:24 ` [PATCH 09/13] btrfs: abort transaction at update_ref_for_cow() when ref count is zero fdmanana
2023-06-08  8:58   ` Qu Wenruo
2023-06-08  9:47     ` Filipe Manana
2023-06-07 19:24 ` [PATCH 10/13] btrfs: do not BUG_ON() on tree mod log failures at push_nodes_for_insert() fdmanana
2023-06-08  9:02   ` Qu Wenruo
2023-06-08  9:46     ` Filipe Manana
2023-06-08 10:19       ` Qu Wenruo
2023-06-07 19:24 ` [PATCH 11/13] btrfs: do not BUG_ON() on tree mod log failure at insert_new_root() fdmanana
2023-06-08  9:11   ` Qu Wenruo
2023-06-07 19:24 ` [PATCH 12/13] btrfs: do not BUG_ON() on tree mod log failures at insert_ptr() fdmanana
2023-06-08  9:16   ` Qu Wenruo
2023-06-08  9:43     ` Filipe Manana
2023-06-07 19:24 ` [PATCH 13/13] btrfs: do not BUG_ON() on tree mod log failures at btrfs_del_ptr() fdmanana
2023-06-08  9:19   ` Qu Wenruo
2023-06-08 10:27 ` [PATCH v2 00/13] btrfs: some fixes and updates around handling errors for tree mod log operations fdmanana
2023-06-08 10:27   ` [PATCH v2 01/13] btrfs: add missing error handling when logging operation while COWing extent buffer fdmanana
2023-06-08 10:27   ` [PATCH v2 02/13] btrfs: fix extent buffer leak after tree mod log failure at split_node() fdmanana
2023-06-08 10:27   ` [PATCH v2 03/13] btrfs: avoid tree mod log ENOMEM failures when we don't need to log fdmanana
2023-06-08 10:27   ` [PATCH v2 04/13] btrfs: do not BUG_ON() on tree mod log failure at __btrfs_cow_block() fdmanana
2023-06-08 10:27   ` [PATCH v2 05/13] btrfs: do not BUG_ON() on tree mod log failure at balance_level() fdmanana
2023-06-08 10:27   ` [PATCH v2 06/13] btrfs: rename enospc label to out " fdmanana
2023-06-08 10:27   ` [PATCH v2 07/13] btrfs: avoid unnecessarily setting the fs to RO and error state " fdmanana
2023-06-08 10:51     ` Qu Wenruo
2023-06-08 11:00       ` Filipe Manana
2023-06-08 11:04         ` Qu Wenruo
2023-06-08 10:27   ` [PATCH v2 08/13] btrfs: abort transaction at balance_level() when left child is missing fdmanana
2023-06-08 10:37     ` Qu Wenruo
2023-06-08 10:52     ` Qu Wenruo
2023-06-08 10:27   ` [PATCH v2 09/13] btrfs: abort transaction at update_ref_for_cow() when ref count is zero fdmanana
2023-06-08 10:52     ` Qu Wenruo
2023-06-08 10:27   ` [PATCH v2 10/13] btrfs: do not BUG_ON() on tree mod log failures at push_nodes_for_insert() fdmanana
2023-06-08 10:27   ` [PATCH v2 11/13] btrfs: do not BUG_ON() on tree mod log failure at insert_new_root() fdmanana
2023-06-08 10:27   ` [PATCH v2 12/13] btrfs: do not BUG_ON() on tree mod log failures at insert_ptr() fdmanana
2023-06-08 10:27   ` [PATCH v2 13/13] btrfs: do not BUG_ON() on tree mod log failures at btrfs_del_ptr() fdmanana
2023-06-09 16:51   ` [PATCH v2 00/13] btrfs: some fixes and updates around handling errors for tree mod log operations David Sterba
2023-06-09 17:20   ` 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.1686164789.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.