• Andrew Gallagher's avatar
    fuse: support clients that don't implement 'open' · 7678ac50
    Andrew Gallagher authored
    open/release operations require userspace transitions to keep track
    of the open count and to perform any FS-specific setup.  However,
    for some purely read-only FSs which don't need to perform any setup
    at open/release time, we can avoid the performance overhead of
    calling into userspace for open/release calls.
    
    This patch adds the necessary support to the fuse kernel modules to prevent
    open/release operations from hitting in userspace. When the client returns
    ENOSYS, we avoid sending the subsequent release to userspace, and also
    remember this so that future opens also don't trigger a userspace
    operation.
    Signed-off-by: default avatarMiklos Szeredi <mszeredi@suse.cz>
    7678ac50
file.c 71.4 KB