From a54e0358b1d66c04448b22c1a01e076b5a527008 Mon Sep 17 00:00:00 2001 From: Shehjar Tikoo Date: Tue, 15 Mar 2011 01:57:13 +0000 Subject: nfs-rpc: Exit txbuf transmission loop on EAGAIN ..instead of looping till the buffer is completely transmitted. Signed-off-by: Shehjar Tikoo Signed-off-by: Vijay Bellur BUG: 2491 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2491 --- xlators/nfs/lib/src/rpc-socket.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'xlators/nfs/lib/src/rpc-socket.c') diff --git a/xlators/nfs/lib/src/rpc-socket.c b/xlators/nfs/lib/src/rpc-socket.c index 6c399d904..ec56f3fc4 100644 --- a/xlators/nfs/lib/src/rpc-socket.c +++ b/xlators/nfs/lib/src/rpc-socket.c @@ -226,7 +226,7 @@ nfs_rpcsvc_socket_read (int sockfd, char *readaddr, size_t readsize) ssize_t -nfs_rpcsvc_socket_write (int sockfd, char *buffer, size_t size) +nfs_rpcsvc_socket_write (int sockfd, char *buffer, size_t size, int *eagain) { size_t writelen = -1; ssize_t written = 0; @@ -240,8 +240,10 @@ nfs_rpcsvc_socket_write (int sockfd, char *buffer, size_t size) if (errno != EAGAIN) { written = -1; break; - } else + } else { + *eagain = 1; break; + } } else if (writelen == 0) break; -- cgit