Hi Stefan,

I think following patch might allow you to mount virtio_fs as rootfs
with new syntax.

I have only compiled it and not tested it. Plase have a look.

Thanks
Vivek

virtio_fs passes root=<fs-instance-name> as identifier of virtio_fs instance
to be mounted. None of the existing primitives seems to fit virito_fs needs.

So check rootfstype and if it is "virtio_fs", do not parse root= further
and call mount_block_root().

This is similar to carving out special paths for ubifs. Now virtio_fs
users should be able to pass "root=myfs rootfstype=virtio_fs" and be
able to mount that particular instance of virtio_fs as rootfs.

Yet-To-Be-Signed-off-by: Vivek Goyal <[email protected]>
---
 init/do_mounts.c |    4 ++++
 1 file changed, 4 insertions(+)

Index: rhvgoyal-linux-fuse/init/do_mounts.c
===================================================================
--- rhvgoyal-linux-fuse.orig/init/do_mounts.c   2019-04-09 15:42:17.096602971 
-0400
+++ rhvgoyal-linux-fuse/init/do_mounts.c        2019-07-25 16:40:29.226348627 
-0400
@@ -595,6 +595,10 @@ void __init prepare_namespace(void)
                        mount_block_root(root_device_name, root_mountflags);
                        goto out;
                }
+               if (root_fs_names && !strncmp(root_fs_names, "virtio_fs", 3)) {
+                       mount_block_root(root_device_name, root_mountflags);
+                       goto out;
+               }
                ROOT_DEV = name_to_dev_t(root_device_name);
                if (strncmp(root_device_name, "/dev/", 5) == 0)
                        root_device_name += 5;

Reply via email to