diff options
author | 2013-06-21 15:32:42 +0200 | |
---|---|---|
committer | 2013-07-07 22:04:36 -0500 | |
commit | 1cff33069a4a1ac9ed080756113ecd17ad408282 (patch) | |
tree | bc7c5e50fb6ad102b16b93da9263fc36506d5d32 /net/9p/client.c | |
parent | 9P/RDMA: Improve error handling in rdma_request (diff) | |
download | linux-1cff33069a4a1ac9ed080756113ecd17ad408282.tar.gz linux-1cff33069a4a1ac9ed080756113ecd17ad408282.tar.bz2 linux-1cff33069a4a1ac9ed080756113ecd17ad408282.zip |
9P/RDMA: count posted buffers without a pending request
In rdma_request():
If an error occurs between posting the recv and the send,
there will be a reply context posted without a pending
request.
Since there is no way to "un-post" it, we remember it and
skip post_recv() for the next request.
Signed-off-by: Simon Derr <simon.derr@bull.net>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Diffstat (limited to 'net/9p/client.c')
-rw-r--r-- | net/9p/client.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/9p/client.c b/net/9p/client.c index db5bf2480a33..d18a0b22f62c 100644 --- a/net/9p/client.c +++ b/net/9p/client.c @@ -656,8 +656,10 @@ static int p9_client_flush(struct p9_client *c, struct p9_req_t *oldreq) return PTR_ERR(req); - /* if we haven't received a response for oldreq, - remove it from the list. */ + /* + * if we haven't received a response for oldreq, + * remove it from the list. + */ spin_lock(&c->lock); if (oldreq->status == REQ_STATUS_FLSH) list_del(&oldreq->req_list); |