• Max Reitz's avatar
    fuse: split fuse_mount off of fuse_conn · fcee216b
    Max Reitz authored
    We want to allow submounts for the same fuse_conn, but with different
    superblocks so that each of the submounts has its own device ID.  To do
    so, we need to split all mount-specific information off of fuse_conn
    into a new fuse_mount structure, so that multiple mounts can share a
    single fuse_conn.
    
    We need to take care only to perform connection-level actions once (i.e.
    when the fuse_conn and thus the first fuse_mount are established, or
    when the last fuse_mount and thus the fuse_conn are destroyed).  For
    example, fuse_sb_destroy() must invoke fuse_send_destroy() until the
    last superblock is released.
    
    To do so, we keep track of which fuse_mount is the root mount and
    perform all fuse_conn-level actions only when this fuse_mount is
    involved.
    Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
    Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
    Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
    fcee216b
cuse.c 15.8 KB