diff --git a/init/do_mounts.c b/init/do_mounts.c index b5f9604d0c98a22307397836f224945c6e762778..31cc48c161efcd6b8de715067decf00ac5d29dd7 100644 --- a/init/do_mounts.c +++ b/init/do_mounts.c @@ -567,6 +567,16 @@ void __init mount_root(void) return; } #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);