9P/RDMA: Use a semaphore to protect the RQ
authorSimon Derr <simon.derr@bull.net>
Fri, 21 Jun 2013 13:32:39 +0000 (15:32 +0200)
committerEric Van Hensbergen <ericvh@gmail.com>
Mon, 8 Jul 2013 03:02:29 +0000 (22:02 -0500)
commitfd453d0ed6c1dacef8eff466df473d62d63db1e9
treed1858110c400fc20cf403e2798a5a3d1546dcbaf
parent47229ff85e5a0b0613df2288d212938aeb9687da
9P/RDMA: Use a semaphore to protect the RQ

The current code keeps track of the number of buffers posted in the RQ,
and will prevent it from overflowing. But it does so by simply dropping
post requests (And leaking memory in the process).
When this happens there will actually be too few buffers posted, and
soon the 9P server will complain about 'RNR retry counter exceeded'
errors.

Instead, use a semaphore, and block until the RQ is ready for another
buffer to be posted.

Signed-off-by: Simon Derr <simon.derr@bull.net>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
net/9p/trans_rdma.c