From: Brian Foster <bfoster@redhat.com>
To: linux-bcachefs@vger.kernel.org
Subject: [PATCH 0/5] bcachefs: write buffer journaling fixes
Date: Wed, 19 Jul 2023 08:53:01 -0400 [thread overview]
Message-ID: <20230719125306.109342-1-bfoster@redhat.com> (raw)
Hi all,
Here are a few patches to try and address the write buffer journaling
issue that occasionally produces backpointer inconsistency errors via
generic/388. The issue is described in more detail in patch 5.
Patches 1-3 are just a few cleanup/prep patches that fell out of
perusing the code. Patch 4 adds the ability to plumb a known seq for a
journaled key into a transaction and down through to the btree update.
Patch 5 updates write buffer key flushing to use the wb key journal seq
for the key in the flush transaction.
This survived ~100 or so iterations of generic/388 in my last test and
the series is also pushed to the CI [1]. Thoughts, reviews, flames
appreciated.
Brian
[1] https://evilpiepirate.org/~testdashboard/ci?branch=bfoster&commit=130f60a69f0c2cce14ac5c0de6257b4a4cae39f0
Brian Foster (5):
bcachefs: remove duplicate code between backpointer update paths
bcachefs: remove unnecessary btree_insert_key_leaf() wrapper
bcachefs: fold bch2_trans_update_by_path_trace() into callers
bcachefs: support btree updates of prejournaled keys
bcachefs: use prejournaled key updates for write buffer flushes
fs/bcachefs/backpointers.c | 18 +--------
fs/bcachefs/backpointers.h | 8 ++--
fs/bcachefs/bkey_methods.h | 2 +
fs/bcachefs/btree_types.h | 1 +
fs/bcachefs/btree_update.h | 2 +
fs/bcachefs/btree_update_leaf.c | 67 +++++++++++++++++++-------------
fs/bcachefs/btree_write_buffer.c | 30 +++++++++++++-
7 files changed, 77 insertions(+), 51 deletions(-)
--
2.40.1
next reply other threads:[~2023-07-19 12:51 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-19 12:53 Brian Foster [this message]
2023-07-19 12:53 ` [PATCH 1/5] bcachefs: remove duplicate code between backpointer update paths Brian Foster
2023-07-19 12:53 ` [PATCH 2/5] bcachefs: remove unnecessary btree_insert_key_leaf() wrapper Brian Foster
2023-07-19 12:53 ` [PATCH 3/5] bcachefs: fold bch2_trans_update_by_path_trace() into callers Brian Foster
2023-07-19 12:53 ` [PATCH 4/5] bcachefs: support btree updates of prejournaled keys Brian Foster
2023-07-19 12:53 ` [PATCH 5/5] bcachefs: use prejournaled key updates for write buffer flushes Brian Foster
2023-07-20 21:26 ` Kent Overstreet
2023-07-21 13:09 ` Brian Foster
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=20230719125306.109342-1-bfoster@redhat.com \
--to=bfoster@redhat.com \
--cc=linux-bcachefs@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.