From: Su Yue <Damenly_Su@xxxxxxx>
This patchset fixes one reproducible bug and add two split-brain
cases ignored.
The origin code thinks the final state of successful synced device is
always has INCOMPAT_METADATA_UUID feature. However, a device without
the feature flag can be the one pull into disk. This is what handled
in the patchset. Test images are added in btrfs-progs part.
Patch[1] fixes a bug about wrong fsid copy.
Patch[2] is for the later patches.
Patch[3-5] add the forgotten cases.
Patch[6] just does simple code movement for grace.
The set passes xfstests-dev without regressions.
Su Yue (6):
btrfs: metadata_uuid: fix failed assertion due to unsuccessful device
scan
btrfs: metadata_uuid: move split-brain handling from fs_id() to new
function
btrfs: split-brain case for scanned changing device with
INCOMPAT_METADATA_UUID
btrfs: split-brain case for scanned changed device without
INCOMPAT_METADATA_UUID
btrfs: copy fsid and metadata_uuid for pulled disk without
INCOMPAT_METADATA_UUID
btrfs: metadata_uuid: move partly logic into find_fsid_inprogress()
fs/btrfs/volumes.c | 193 +++++++++++++++++++++++++++++----------------
1 file changed, 125 insertions(+), 68 deletions(-)
--
2.24.0