[Virtio-fs] [PATCH] init/do_mounts.c: add virtio_fs root fs support

Dr. David Alan Gilbert dgilbert at redhat.com
Wed Jul 31 10:34:08 UTC 2019


* Stefan Hajnoczi (stefanha at redhat.com) wrote:
> It is useful to mount the root file system via virtio_fs.  During
> testing a monolithic kernel is more convenient than an initramfs but
> we'll need to teach the kernel how to boot directly from virtio_fs.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha at redhat.com>
> ---
>  init/do_mounts.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/init/do_mounts.c b/init/do_mounts.c
> index f8c230c77035..b2d9650488d7 100644
> --- a/init/do_mounts.c
> +++ b/init/do_mounts.c
> @@ -553,6 +553,16 @@ void __init mount_root(void)
>  			change_floppy("root floppy");
>  	}
>  #endif
> +#ifdef CONFIG_VIRTIO_FS
> +	if (root_fs_names && !strcmp(root_fs_names, "virtio_fs")) {
> +		if (!do_mount_root(root_device_name, "virtio_fs",
> +				   root_mountflags, root_mount_data))
> +			return;
> +
> +		panic("VFS: Unable to mount root fs \"%s\" from virtio_fs",
> +		      root_device_name);
> +	}
> +#endif

I wonder if it's possible to make this more generic; I see that
filesystems have a flag, FS_REQUIRES_DEV - should this
work for most filesystems that don't have that set?

Dave

>  #ifdef CONFIG_BLOCK
>  	{
>  		int err = create_dev("/dev/root", ROOT_DEV);
> -- 
> 2.21.0
> 
> _______________________________________________
> Virtio-fs mailing list
> Virtio-fs at redhat.com
> https://www.redhat.com/mailman/listinfo/virtio-fs
--
Dr. David Alan Gilbert / dgilbert at redhat.com / Manchester, UK




More information about the Virtio-fs mailing list