lkml.org 
[lkml]   [2020]   [Jan]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Multidevice f2fs mount after disk rearrangement
Hi.

On 04.01.2020 17:29, Oleksandr Natalenko wrote:
> 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.

Erm, fine. I studied f2fs-tools code a little bit and discovered that
superblock indeed had /dev/sdX paths saved as strings. So I fired up
hexedit and just changed the superblock directly on the first device,
substituting sdc with sdb and sdd with sdc (I did it twice; I guess
there are 2 copies of superblock), and after this the mount worked.

Am I really supposed to do this manually ;)?

--
Oleksandr Natalenko (post-factum)

\
 
 \ /
  Last update: 2020-01-04 22:53    [W:0.649 / U:9.776 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site