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 <[email protected]> > > --- > > 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")
