aboutsummaryrefslogtreecommitdiffstats
path: root/net/9p/client.c
diff options
context:
space:
mode:
authorVenkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>2010-09-29 21:33:41 -0400
committerEric Van Hensbergen <ericvh@gmail.com>2010-10-28 10:08:48 -0400
commit52f44e0d08ff1a065bf06615483c608163575cb1 (patch)
tree44292212cecafac6ed870812b882b9af545bdaa6 /net/9p/client.c
parent419b39561e698d73a42f8010655d22e0134486da (diff)
net/9p: Add waitq to VirtIO transport.
If there is not enough space for the PDU on the VirtIO ring, current code returns -EIO propagating the error to user. This patch introduced a wqit_queue on the channel, and lets the process wait on this queue until VirtIO ring frees up. Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com> Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Diffstat (limited to 'net/9p/client.c')
-rw-r--r--net/9p/client.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/9p/client.c b/net/9p/client.c
index 2bc99e9031e7..bc7b03537699 100644
--- a/net/9p/client.c
+++ b/net/9p/client.c
@@ -583,7 +583,8 @@ p9_client_rpc(struct p9_client *c, int8_t type, const char *fmt, ...)
583 583
584 err = c->trans_mod->request(c, req); 584 err = c->trans_mod->request(c, req);
585 if (err < 0) { 585 if (err < 0) {
586 c->status = Disconnected; 586 if (err != -ERESTARTSYS)
587 c->status = Disconnected;
587 goto reterr; 588 goto reterr;
588 } 589 }
589 590