On Mon, May 4, 2020 at 8:33 PM Vivek Goyal <vgoyal@xxxxxxxxxx> wrote: > > Subject: virtiofs: Do not use fuse_fill_super_common() for fuse device installation > > fuse_fill_super_common() allocates and installs one fuse_device. Hence > virtiofs allocates and install all fuse devices by itself except one. > > This makes logic little twisted. There does not seem to be any real need > that why virtiofs can't allocate and install all fuse devices itself. > > So opt out of fuse device allocation and installation while calling > fuse_fill_super_common(). > > Regular fuse still wants fuse_fill_super_common() to install fuse_device. > It needs to prevent against races where two mounters are trying to mount > fuse using same fd. In that case one will succeed while other will get > -EINVAL. > > virtiofs does not have this issue because sget_fc() resolves the race > w.r.t multiple mounters and only one instance of virtio_fs_fill_super() > should be in progress for same filesystem. Thanks, applied. Miklos