Multidevice f2fs mount after disk rearrangement

From: Oleksandr Natalenko
Date: Sat Jan 04 2020 - 11:29:35 EST


Hello.

I was brave enough to create f2fs filesystem spanning through 2 physical device using this command:

# mkfs.f2fs -t 0 /dev/sdc -c /dev/sdd

It worked fine until I removed /dev/sdb from my system, so f2fs devices became:

/dev/sdc -> /dev/sdb
/dev/sdd -> /dev/sdc

Now, when I try to mount it, I get the following:

# mount -t f2fs /dev/sdb /mnt/fs
mount: /mnt/fs: mount(2) system call failed: No such file or directory.

In dmesg:

[Jan 4 17:25] F2FS-fs (sdb): Mount Device [ 0]: /dev/sdc, 59063, 0 - 1cd6fff
[ +0,000024] F2FS-fs (sdb): Failed to find devices

fsck also fails with the following assertion:

[ASSERT] (init_sb_info: 908) !strcmp((char *)sb->devs[i].path, (char *)c.devices[i].path)

Am I doing something obviously stupid, and the device path can be (somehow) changed so that the mount succeeds, or this is unfixable, and f2fs relies on persistent device naming?

Please suggest.

Thank you.

--
Oleksandr Natalenko (post-factum)