Make it possible to boot directly from a virtiofs file system with tag
'myfs' using the following kernel parameters:

  rootfstype=virtiofs root=myfs rw

Booting directly from virtiofs makes it possible to use a directory on
the host as the root file system.  This is convenient for testing and
situations where manipulating disk image files is cumbersome.

Signed-off-by: Stefan Hajnoczi <[email protected]>
---
This patch is based on linux-next (next-20190904) but should apply
cleanly to other virtiofs trees.

 init/do_mounts.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/init/do_mounts.c b/init/do_mounts.c
index 9634ecf3743d..030be2f1999a 100644
--- a/init/do_mounts.c
+++ b/init/do_mounts.c
@@ -554,6 +554,16 @@ void __init mount_root(void)
                        change_floppy("root floppy");
        }
 #endif
+#ifdef CONFIG_VIRTIO_FS
+       if (root_fs_names && !strcmp(root_fs_names, "virtiofs")) {
+               if (!do_mount_root(root_device_name, "virtiofs",
+                                  root_mountflags, root_mount_data))
+                       return;
+
+               panic("VFS: Unable to mount root fs \"%s\" from virtiofs",
+                     root_device_name);
+       }
+#endif
 #ifdef CONFIG_BLOCK
        {
                int err = create_dev("/dev/root", ROOT_DEV);
-- 
2.21.0

_______________________________________________
Virtio-fs mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/virtio-fs

Reply via email to