[Virtio-fs] [RFC][PATCH] init: Allow mounting virtio_fs instance as rootfs

Vivek Goyal vgoyal at redhat.com
Thu Jul 25 20:49:34 UTC 2019


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 <vgoyal at redhat.com>
---
 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;




More information about the Virtio-fs mailing list