From dae57d72a58ff61fe6eda800d386bf83574ef5c2 Mon Sep 17 00:00:00 2001 From: Pavan T C Date: Fri, 4 Mar 2011 01:44:22 +0000 Subject: Make sure we are looking at the right errno in the fix for bug 2452. Signed-off-by: Pavan T C Signed-off-by: Anand V. Avati BUG: 2452 (Excessive CPU usage /very low throughput while using NFS mounts) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2452 --- xlators/nfs/lib/src/rpcsvc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'xlators') diff --git a/xlators/nfs/lib/src/rpcsvc.c b/xlators/nfs/lib/src/rpcsvc.c index 84ee7bc2234..987c24080fd 100644 --- a/xlators/nfs/lib/src/rpcsvc.c +++ b/xlators/nfs/lib/src/rpcsvc.c @@ -2542,6 +2542,7 @@ __nfs_rpcsvc_conn_data_poll_out (rpcsvc_conn_t *conn) ssize_t written = -1; char *writeaddr = NULL; size_t writesize = -1; + int local_errno = 0; if (!conn) return -1; @@ -2560,6 +2561,8 @@ tx_remaining: errno = 0; written = nfs_rpcsvc_socket_write (conn->sockfd, writeaddr, writesize); + local_errno = errno; + if (txbuf->txbehave & RPCSVC_TXB_LAST) { gf_log (GF_RPCSVC, GF_LOG_TRACE, "Last Tx Buf"); nfs_rpcsvc_socket_unblock_tx (conn->sockfd); @@ -2578,7 +2581,7 @@ tx_remaining: if (written >= 0) txbuf->offset += written; - if (errno == EAGAIN) { + if (local_errno == EAGAIN) { /* * Socket layer is indicating flow-control. We * break-out now and wait for the next event indicating -- cgit