fuse: get rid of fuse_put_super()
authorMiklos Szeredi <mszeredi@redhat.com>
Thu, 21 Oct 2021 08:01:38 +0000 (10:01 +0200)
committerMiklos Szeredi <mszeredi@redhat.com>
Thu, 21 Oct 2021 08:01:38 +0000 (10:01 +0200)
commita27c061a49afd7ad2d935e6ac734e2a9f62861b8
tree08ed4d5171ed95f7331fb10473a1e47b507dcbd0
parentd534d31d6a45d71de61db22090b4820afb68fddc
fuse: get rid of fuse_put_super()

The ->put_super callback is called from generic_shutdown_super() in case of
a fully initialized sb.  This is called from kill_***_super(), which is
called from ->kill_sb instances.

Fuse uses ->put_super to destroy the fs specific fuse_mount and drop the
reference to the fuse_conn, while it does the same on each error case
during sb setup.

This patch moves the destruction from fuse_put_super() to
fuse_mount_destroy(), called at the end of all ->kill_sb instances.  A
follup patch will clean up the error paths.

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/fuse/fuse_i.h
fs/fuse/inode.c
fs/fuse/virtio_fs.c