All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nikolay Borisov <nborisov@suse.com>
To: linux-btrfs@vger.kernel.org
Cc: Nikolay Borisov <nborisov@suse.com>
Subject: [PATCH 0/4] More split-brain fixes for metadata uuid feature
Date: Fri, 10 Jan 2020 14:11:31 +0200	[thread overview]
Message-ID: <20200110121135.7386-1-nborisov@suse.com> (raw)

Here are 4 patches which fix a newly found split-brain scenario in the
METADATA_UUID_INCOMPAT code. They are mostly the identical with Su's
original submission but I have reworked the changelogs and some function
names. Hence, I retained his authorship of the patches.

First 2 patches factor out some code with the hopes of making find_fisd a bit
more readable and simplifying the myriad of nested 'if' in device_list_add.

Patch 3 extends find_fsid_changed to handle the case where a disk with
METADATA_UUID_INCOMPAT and FSID_CHANGING_IN_PROGRESS is scanned after a disk
which has successfully been switched to FSID == METADATA_UUID state and has
created btrfs_fs_devices.

Patch 4 handles the counterpart situation - a fully switched disk is scanned
after one which has had METADATA_UUID_INCOMPAT and FSID_CHANGING_IN_PROGRESS
set.

This series should be applied to stable branches following 5.0 when the
metadata_uuid feature got introduced.

This patchset was tested with btrfs-progs' misc 034-metadata-uuid test and a full
xfstest run with no regressions. I will also be sending an improvement to the
test case which exercises the newly added code.

  btrfs: Call find_fsid from find_fsid_inprogress
  btrfs: Factor out metadata_uuid code from find_fsid.
  btrfs: Handle another split brain scenario with metadata uuid feature
  btrfs: Fix split-brain handling when changing FSID to metadata uuid

 fs/btrfs/volumes.c | 158 ++++++++++++++++++++++++++++-----------------
 1 file changed, 100 insertions(+), 58 deletions(-)

--
2.17.1


             reply	other threads:[~2020-01-10 12:11 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-10 12:11 Nikolay Borisov [this message]
2020-01-10 12:11 ` [PATCH 1/4] btrfs: Call find_fsid from find_fsid_inprogress Nikolay Borisov
2020-01-10 15:24   ` Josef Bacik
2020-01-10 12:11 ` [PATCH 2/4] btrfs: Factor out metadata_uuid code from find_fsid Nikolay Borisov
2020-01-10 15:25   ` Josef Bacik
2020-01-10 12:11 ` [PATCH 3/4] btrfs: Handle another split brain scenario with metadata uuid feature Nikolay Borisov
2020-01-10 15:29   ` Josef Bacik
2020-01-21 15:16   ` David Sterba
2020-01-10 12:11 ` [PATCH 4/4] btrfs: Fix split-brain handling when changing FSID to metadata uuid Nikolay Borisov
2020-01-10 15:58   ` Josef Bacik
2020-01-14 17:14 ` [PATCH 0/4] More split-brain fixes for metadata uuid feature David Sterba
2020-01-21 15:23   ` 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=20200110121135.7386-1-nborisov@suse.com \
    --to=nborisov@suse.com \
    --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.