Messages in this thread | | | Subject | Re: [PATCH v2 4/7] fuse: Add dedicated filesystem context ops for submounts | From | Max Reitz <> | Date | Tue, 8 Jun 2021 17:25:29 +0200 |
| |
On 04.06.21 18:11, Greg Kurz wrote: > The creation of a submount is open-coded in fuse_dentry_automount(). > This brings a lot of complexity and we recently had to fix bugs > because we weren't setting SB_BORN or because we were unlocking > sb->s_umount before sb was fully configured. Most of these could > have been avoided by using the mount API instead of open-coding. > > Basically, this means coming up with a proper ->get_tree() > implementation for submounts and call vfs_get_tree(), or better > fc_mount(). > > The creation of the superblock for submounts is quite different from > the root mount. Especially, it doesn't require to allocate a FUSE > filesystem context, nor to parse parameters. > > Introduce a dedicated context ops for submounts to make this clear. > This is just a placeholder for now, fuse_get_tree_submount() will > be populated in a subsequent patch. > > Only visible change is that we stop allocating/freeing a useless FUSE > filesystem context with submounts. > > Signed-off-by: Greg Kurz <groug@kaod.org> > --- > fs/fuse/fuse_i.h | 5 +++++ > fs/fuse/inode.c | 16 ++++++++++++++++ > fs/fuse/virtio_fs.c | 3 +++ > 3 files changed, 24 insertions(+)
Reviewed-by: Max Reitz <mreitz@redhat.com>
| |