[PATCH] v9fs: return the correct error when interrupted by signal
authorLatchesar Ionkov <lucho@ionkov.net>
Wed, 28 Jun 2006 11:26:50 +0000 (04:26 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 28 Jun 2006 21:59:05 +0000 (14:59 -0700)
If a signal interrupts the user process, v9fs sends a flush request to the
file server and waits for its response.  It error code is incorrectly set
to the error code of the flush message instead of ERESTARTSYS.  The patch
sets the error code to the correct value.

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>
fs/9p/mux.c

index 12e1baa4508d6569753284260d04878849cf8aa3..8d45ed6688376461f357ca69d6ec6c9abe3c671a 100644 (file)
@@ -932,6 +932,8 @@ v9fs_mux_rpc(struct v9fs_mux_data *m, struct v9fs_fcall *tc,
                                        r.rcall || r.err);
                        } while (!r.rcall && !r.err && err==-ERESTARTSYS &&
                                m->trans->status==Connected && !m->err);
+
+                       err = -ERESTARTSYS;
                }
                sigpending = 1;
        }