浏览代码

[PATCH] v9fs: return the correct error when interrupted by signal

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>
Latchesar Ionkov 19 年之前
父节点
当前提交
94374e7cc3
共有 1 个文件被更改,包括 2 次插入0 次删除
  1. 2 0
      fs/9p/mux.c

+ 2 - 0
fs/9p/mux.c

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