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

Vivek Goyal vgoyal at redhat.com
Mon Jul 29 12:51:42 UTC 2019


On Mon, Jul 29, 2019 at 11:15:37AM +0100, Stefan Hajnoczi wrote:
> On Thu, Jul 25, 2019 at 04:49:34PM -0400, Vivek Goyal wrote:
> > Hi Stefan,
> > 
> > I think following patch might allow you to mount virtio_fs as rootfs
> > with new syntax.
> 
> Thanks, I've sent a similar patch too.  My patch changes mount_root()
> (where the nfs root code also lives) and uses do_mount_root() instead of
> mount_block_root() to avoid block/partition error messages.  But I think
> they are very similar in terms of functionality.

Ok, sounds good. I will squash that patch with one of the existing
patches.

Thanks
Vivek

> 
> > 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)) {
> 
> The entire string, not just the first 3 characters:
> 
>   !strcmp(root_fs_names, "virtio_fs")





More information about the Virtio-fs mailing list