remarkable-linux/fs/fuse
Miklos Szeredi 0720b31597 [PATCH] fuse: simplify locking
This is in preparation for removing the global spinlock in favor of a
per-mount one.

The only critical part is the interaction between fuse_dev_release() and
fuse_fill_super(): fuse_dev_release() must see the assignment to
file->private_data, otherwise it will leak the reference to fuse_conn.

This is ensured by the fput() operation, which will synchronize the assignment
with other CPU's that may do a final fput() soon after this.

Also redundant locking is removed from fuse_fill_super(), where exclusion is
already ensured by the BKL held for this function by the VFS.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-04-11 06:18:48 -07:00
..
dev.c [PATCH] fuse: simplify locking 2006-04-11 06:18:48 -07:00
dir.c
file.c [PATCH] fuse: fix oops in fuse_send_readpages() 2006-04-11 06:18:47 -07:00
fuse_i.h [PATCH] fuse: add O_ASYNC support to FUSE device 2006-04-11 06:18:48 -07:00
inode.c [PATCH] fuse: simplify locking 2006-04-11 06:18:48 -07:00
Makefile