On Fri, Jan 10, 2020 at 02:11:31PM +0200, Nikolay Borisov wrote: > 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 I'm adding it to for-next, thanks.
