[Virtio-fs] [PATCH] fuse, virtiofs: Do not alloc/install fuse device in fuse_fill_super_common()

Vivek Goyal vgoyal at redhat.com
Thu Apr 30 14:10:40 UTC 2020


On Thu, Apr 30, 2020 at 10:58:42AM +0200, Miklos Szeredi wrote:
> On Mon, Apr 27, 2020 at 8:04 PM Vivek Goyal <vgoyal at redhat.com> wrote:
> >
> > As of now fuse_fill_super_common() allocates and installs one fuse device.
> > Filesystems like virtiofs can have more than one filesystem queues and
> > can have one fuse device per queue. Given, fuse_fill_super_common() only
> > handles one device, virtiofs allocates and installes fuse devices for
> > all queues except one.
> >
> > This makes logic little twisted and hard to understand. It probably
> > is better to not do any device allocation/installation in
> > fuse_fill_super_common() and let caller take care of it instead.
> 
> I don't have the details about the fuse super block setup in my head,
> but leaving the fuse_dev_alloc_install() call inside
> fuse_fill_super_common() and adding new
> fuse_dev_alloc()/fuse_dev_install() calls looks highly suspicious.

Good catch. My bad. I forgot to remove that fuse_dev_alloc_install() call
from fuse_fill_super_common(). I tested it and it worked. So I guess I just
ended up installing extra fud device in fc which was never used.

I will fix this and post V2 of the patch.

Thanks
Vivek




More information about the Virtio-fs mailing list