linux-sg2042/fs/9p
Latchesar Ionkov c959df9f01 v9fs: don't use primary fid when removing file
v9fs_insert uses v9fs_fid_lookup (which also locks the fid) to get the
primary fid associated with the dentry and destroys the v9fs_fid struct
after removing the file.  If another process called v9fs_fid_lookup on the
same dentry, it may wait undefinitely for the fid's lock (as the struct is
freed).

This patch changes v9fs_remove to use a cloned fid, so the primary fid is
not locked and freed.

Signed-off-by: Latchesar Ionkov <lucho@ionkov.net>
Cc: Eric Van Hensbergen <ericvh@hera.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-04-24 08:23:08 -07:00
..
9p.h [PATCH] v9fs: update license boilerplate 2006-03-25 08:22:54 -08:00
Makefile [PATCH] 9p: fix name consistency problems 2006-03-25 08:22:54 -08:00
conv.c [PATCH] severing fs.h, radix-tree.h -> sched.h 2006-12-04 02:00:24 -05:00
conv.h [PATCH] v9fs: update license boilerplate 2006-03-25 08:22:54 -08:00
debug.h [PATCH] v9fs: update license boilerplate 2006-03-25 08:22:54 -08:00
error.c [PATCH] 9p: null terminate error strings for debug print 2007-01-26 13:51:00 -08:00
error.h [PATCH] v9fs: update license boilerplate 2006-03-25 08:22:54 -08:00
fcall.c [PATCH] severing fs.h, radix-tree.h -> sched.h 2006-12-04 02:00:24 -05:00
fcprint.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
fid.c 9p: implement optional loose read cache 2007-02-18 10:16:10 -06:00
fid.h [PATCH] 9p: fix segfault caused by race condition in meta-data operations 2007-01-26 13:51:00 -08:00
mux.c 9p: Use kthread_stop instead of sending a SIGKILL. 2007-02-18 10:16:10 -06:00
mux.h [PATCH] v9fs: signal handling fixes 2006-05-15 11:20:56 -07:00
trans_fd.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
transport.h [PATCH] v9fs: update license boilerplate 2006-03-25 08:22:54 -08:00
v9fs.c 9p: implement optional loose read cache 2007-02-18 10:16:10 -06:00
v9fs.h 9p: implement optional loose read cache 2007-02-18 10:16:10 -06:00
v9fs_vfs.h 9p: make struct v9fs_cached_file_operations static 2007-03-26 18:14:44 +00:00
vfs_addr.c 9p: implement optional loose read cache 2007-02-18 10:16:10 -06:00
vfs_dentry.c 9p: implement optional loose read cache 2007-02-18 10:16:10 -06:00
vfs_dir.c [PATCH] 9p: change uses of f_{dentry,vfsmnt} to use f_path 2006-12-08 08:28:43 -08:00
vfs_file.c 9p: make struct v9fs_cached_file_operations static 2007-03-26 18:14:44 +00:00
vfs_inode.c v9fs: don't use primary fid when removing file 2007-04-24 08:23:08 -07:00
vfs_super.c [PATCH] Mark struct super_operations const 2007-02-12 09:48:47 -08:00