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
..
2006-02-03 08:32:06 -08:00
2006-01-09 15:59:24 -08:00
2006-01-11 01:52:40 +01:00
2006-01-11 18:42:13 -08:00
2006-01-14 18:25:19 -08:00
2006-01-27 18:36:11 -08:00
2006-01-09 15:59:24 -08:00
2006-01-09 15:59:24 -08:00
2006-01-09 15:59:24 -08:00
2006-01-09 15:59:24 -08:00
2006-01-09 15:59:24 -08:00
2006-01-15 02:37:08 +01:00
2006-01-18 19:20:28 -08:00
2006-02-03 08:32:05 -08:00
2006-02-03 08:32:05 -08:00
2006-01-11 18:42:13 -08:00
2006-01-08 20:13:54 -08:00
2006-02-01 08:53:09 -08:00
2006-01-18 19:20:23 -08:00
2006-01-18 19:20:23 -08:00
2005-12-29 09:48:15 -08:00
2006-01-09 15:59:24 -08:00
2006-01-09 15:59:24 -08:00
2006-02-01 08:53:15 -08:00
2006-01-14 18:27:12 -08:00
2006-01-18 19:20:16 -08:00
2006-02-03 08:32:05 -08:00
2006-01-14 18:27:06 -08:00
2006-01-11 18:42:13 -08:00
2006-02-01 12:52:23 -05:00
2006-01-14 18:27:12 -08:00
2006-02-01 12:52:25 -05:00
2006-02-01 08:53:09 -08:00
2006-01-10 08:01:33 -08:00
2006-01-11 18:42:13 -08:00
2006-01-16 23:15:29 -08:00
2006-01-14 18:25:19 -08:00
2006-01-03 13:21:37 +01:00
2006-01-06 08:33:32 -08:00
2006-02-03 08:32:03 -08:00
2006-01-09 15:59:24 -08:00
2006-01-08 20:13:54 -08:00
2006-02-01 08:53:09 -08:00
2006-01-11 18:42:13 -08:00
2006-01-15 02:43:54 +01:00
2006-01-11 18:42:13 -08:00
2006-02-03 08:32:04 -08:00
2006-02-01 08:53:17 -08:00
2006-01-08 20:13:48 -08:00
2006-01-11 18:42:13 -08:00
2006-01-10 08:01:25 -08:00
2006-01-10 08:02:01 -08:00
2006-01-14 18:27:06 -08:00
2006-01-10 09:31:27 -08:00
2006-01-14 18:27:06 -08:00
2006-01-31 15:24:34 +01:00
2006-01-09 15:59:24 -08:00
2006-02-01 08:53:26 -08:00
2006-01-14 18:25:19 -08:00
2006-01-12 09:08:49 -08:00
2006-02-01 22:04:33 -08:00
2006-02-03 08:32:04 -08:00
2006-01-11 18:42:13 -08:00
2006-01-09 15:59:24 -08:00
2006-01-11 18:42:13 -08:00
2006-01-08 20:12:40 -08:00
2006-01-18 19:20:29 -08:00
2006-01-14 18:27:06 -08:00
2006-01-09 15:59:24 -08:00
2006-01-11 18:42:13 -08:00
2006-02-01 08:53:27 -08:00
2006-01-18 19:20:22 -08:00
2006-01-11 18:42:13 -08:00
2006-01-11 18:42:13 -08:00
2006-02-01 08:53:14 -08:00
2006-01-08 20:13:36 -08:00
2006-01-09 15:59:24 -08:00
2006-01-08 20:14:10 -08:00
2006-01-10 08:01:33 -08:00
2006-01-14 18:27:06 -08:00
2006-01-08 20:13:54 -08:00
2006-02-01 08:53:27 -08:00
2006-01-16 23:15:29 -08:00
2006-01-18 19:20:30 -08:00
2006-01-18 19:20:29 -08:00
2006-01-14 18:27:06 -08:00
2006-01-08 20:13:56 -08:00
2006-02-03 08:32:03 -08:00
2006-01-11 18:42:13 -08:00
2006-01-09 15:59:24 -08:00
2006-01-09 15:59:24 -08:00
2006-01-18 19:20:30 -08:00
2006-01-18 19:20:29 -08:00
2006-01-09 15:59:25 -08:00
2006-01-10 08:01:29 -08:00