linux/fs/9p
Latchesar Ionkov 034b91a3b6 [PATCH] v9fs: fix corner cases when flushing request
When v9fs_mux_rpc sends a 9P message, it may be put in the queue of unsent
request.  If the user process receives a signal, v9fs_mux_rpc sets the
request error to ERREQFLUSH and assigns NULL to request's send message.  If
the message was still in the unsent queue, v9fs_write_work would produce an
oops while processing it.

The patch makes sure that requests that are being flushed are moved to the
pending requests queue safely.

If a request is being flushed, don't remove it from the list of pending
requests even if it receives a reply before the flush is acknoledged.  The
request will be removed during from the Rflush handler (v9fs_mux_flush_cb).

Signed-off-by: Latchesar Ionkov <lucho@ionkov.net>
Cc: Eric Van Hensbergen <ericvh@ericvh.myip.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-03 08:32:06 -08:00
..
9p.c [PATCH] v9fs: handle kthread_create failure, minor bugfixes 2006-01-08 20:14:06 -08:00
9p.h [PATCH] v9fs: handle kthread_create failure, minor bugfixes 2006-01-08 20:14:06 -08:00
conv.c [PATCH] v9fs: v9fs_put_str fix 2006-02-03 08:32:06 -08:00
conv.h [PATCH] v9fs: zero copy implementation 2006-01-08 20:14:06 -08:00
debug.h [PATCH] v9fs: zero copy implementation 2006-01-08 20:14:06 -08:00
error.c [PATCH] v9fs: zero copy implementation 2006-01-08 20:14:06 -08:00
error.h [PATCH] v9fs: handle kthread_create failure, minor bugfixes 2006-01-08 20:14:06 -08:00
fid.c [PATCH] v9fs: zero copy implementation 2006-01-08 20:14:06 -08:00
fid.h [PATCH] v9fs: fix races in fid allocation 2005-09-28 07:46:40 -07:00
Makefile [PATCH] v9fs: add readpage support 2006-01-18 19:20:22 -08:00
mux.c [PATCH] v9fs: fix corner cases when flushing request 2006-02-03 08:32:06 -08:00
mux.h [PATCH] v9fs: handle kthread_create failure, minor bugfixes 2006-01-08 20:14:06 -08:00
trans_fd.c [PATCH] v9fs: new multiplexer implementation 2006-01-08 20:14:05 -08:00
trans_sock.c [PATCH] v9fs: zero copy implementation 2006-01-08 20:14:06 -08:00
transport.h [PATCH] v9fs: new multiplexer implementation 2006-01-08 20:14:05 -08:00
v9fs_vfs.h [PATCH] v9fs: add readpage support 2006-01-18 19:20:22 -08:00
v9fs.c [PATCH] v9fs: handle kthread_create failure, minor bugfixes 2006-01-08 20:14:06 -08:00
v9fs.h [PATCH] v9fs: new multiplexer implementation 2006-01-08 20:14:05 -08:00
vfs_addr.c [PATCH] v9fs: add readpage support 2006-01-18 19:20:22 -08:00
vfs_dentry.c [PATCH] v9fs: zero copy implementation 2006-01-08 20:14:06 -08:00
vfs_dir.c [PATCH] v9fs: zero copy implementation 2006-01-08 20:14:06 -08:00
vfs_file.c [PATCH] v9fs: add readpage support 2006-01-18 19:20:22 -08:00
vfs_inode.c [PATCH] v9fs: symlink support fixes 2006-02-03 08:32:06 -08:00
vfs_super.c [PATCH] 9p: remove superflous MS_NODIRATIME assignment 2006-01-10 08:01:33 -08:00