1
0
Fork 0
remarkable-linux/fs/fuse
Andrew Gallagher 7678ac5061 fuse: support clients that don't implement 'open'
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: Miklos Szeredi <mszeredi@suse.cz>
2014-01-22 19:36:59 +01:00
..
Kconfig fuse: Move CUSE Kconfig entry from fs/Kconfig into fs/fuse/Kconfig 2013-01-17 13:08:45 +01:00
Makefile CUSE: implement CUSE - Character device in Userspace 2009-06-09 11:24:11 +02:00
control.c fs: Limit sys_mount to only request filesystem modules. 2013-03-03 19:36:31 -08:00
cuse.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-11-13 15:34:18 +09:00
dev.c fuse: fix SetPageUptodate() condition in STORE 2014-01-22 19:36:58 +01:00
dir.c fuse: don't invalidate attrs when not using atime 2014-01-22 19:36:58 +01:00
file.c fuse: support clients that don't implement 'open' 2014-01-22 19:36:59 +01:00
fuse_i.h fuse: support clients that don't implement 'open' 2014-01-22 19:36:59 +01:00
inode.c fuse: rcu-delay freeing fuse_conn 2013-10-24 23:45:13 -04:00