[pnfs] [PATCH] xs_tcp_read_request: unlock transport_lock only for RPC_REPLY
Benny Halevy
bhalevy at panasas.com
Wed Nov 28 09:22:53 EST 2007
The lock is taken only in the (calldir == RPC_REPLY) path
Signed-off-by: Benny Halevy <bhalevy at panasas.com>
---
net/sunrpc/xprtsock.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c
index 883a134..3247521 100644
--- a/net/sunrpc/xprtsock.c
+++ b/net/sunrpc/xprtsock.c
@@ -1065,13 +1065,15 @@ out:
wake_up(&xprt->serv->sv_cb_waitq);
}
}
- spin_unlock(&xprt->transport_lock);
+ if (calldir == RPC_REPLY)
+ spin_unlock(&xprt->transport_lock);
xs_tcp_check_fraghdr(transport);
return;
error:
transport->tcp_flags &= ~TCP_RCV_COPY_DATA;
- spin_unlock(&xprt->transport_lock);
+ if (calldir == RPC_REPLY)
+ spin_unlock(&xprt->transport_lock);
return;
}
--
1.5.3.3
More information about the pNFS
mailing list