linux/fs/9p
Latchesar Ionkov 0b8dd17762 [PATCH] v9fs: fix races in fid allocation
Fid management cleanup.  The patch attempts to fix the races in dentry's
fid management.

Dentries don't keep the opened fids anymore, they are moved to the file
structs.  Ideally there should be no more than one fid with fidcreate equal
to zero in the dentry's list of fids.

v9fs_fid_create initializes the important fields (fid, fidcreated) before
v9fs_fid is added to the list.  v9fs_fid_lookup returns only fids that are
not created by v9fs_create.  v9fs_fid_get_created returns the fid created
by the same process by v9fs_create (if any) and removes it from dentry's
list

Signed-off-by: Latchesar Ionkov <lucho@ionkov.net>
Cc: Eric Van Hensbergen <ericvh@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-28 07:46:40 -07:00
..
9p.c [PATCH] v9fs: 9P protocol implementation 2005-09-09 13:57:56 -07:00
9p.h [PATCH] v9fs: 9P protocol implementation 2005-09-09 13:57:56 -07:00
conv.c [PATCH] v9fs: allocate the Rwalk qid array from the right conv buffer 2005-09-22 22:17:33 -07:00
conv.h [PATCH] v9fs: 9P protocol implementation 2005-09-09 13:57:56 -07:00
debug.h [PATCH] v9fs: debug and support routines 2005-09-09 13:57:57 -07:00
error.c [PATCH] v9fs: debug and support routines 2005-09-09 13:57:57 -07:00
error.h [PATCH] v9fs: fix handling of malformed 9P messages 2005-09-09 13:57:58 -07:00
fid.c [PATCH] v9fs: fix races in fid allocation 2005-09-28 07:46:40 -07:00
fid.h [PATCH] v9fs: fix races in fid allocation 2005-09-28 07:46:40 -07:00
Makefile [PATCH] v9fs: Documentation, Makefiles, Configuration 2005-09-09 13:57:56 -07:00
mux.c [PATCH] v9fs: fix handling of malformed 9P messages 2005-09-09 13:57:58 -07:00
mux.h [PATCH] v9fs: fix handling of malformed 9P messages 2005-09-09 13:57:58 -07:00
trans_fd.c [PATCH] v9fs: transport modules 2005-09-09 13:57:57 -07:00
trans_sock.c [PATCH] v9fs: fix handling of malformed 9P messages 2005-09-09 13:57:58 -07:00
transport.h [PATCH] v9fs: transport modules 2005-09-09 13:57:57 -07:00
v9fs_vfs.h [PATCH] v9fs: VFS superblock operations and glue 2005-09-09 13:57:56 -07:00
v9fs.c [PATCH] v9fs: make copy of the transport prototype instead of using it directly 2005-09-22 22:17:33 -07:00
v9fs.h [PATCH] v9fs: Support to force umount 2005-09-09 13:57:57 -07:00
vfs_dentry.c [PATCH] v9fs: fix races in fid allocation 2005-09-28 07:46:40 -07:00
vfs_dir.c [PATCH] v9fs: fix races in fid allocation 2005-09-28 07:46:40 -07:00
vfs_file.c [PATCH] v9fs: fix races in fid allocation 2005-09-28 07:46:40 -07:00
vfs_inode.c [PATCH] v9fs: fix races in fid allocation 2005-09-28 07:46:40 -07:00
vfs_super.c [PATCH] v9fs: fix races in fid allocation 2005-09-28 07:46:40 -07:00