summaryrefslogtreecommitdiffstats
path: root/libglusterfs/src
diff options
context:
space:
mode:
authorAnand Avati <avati@redhat.com>2013-11-25 10:28:56 -0800
committerAnand Avati <avati@redhat.com>2013-11-26 10:31:04 -0800
commit9da4958b7853f36a137c80493bec932b79d85e84 (patch)
tree0a8be5b7c73a859b711abd34e68a30ea2ec61a7c /libglusterfs/src
parent9f793d70bab528e96daf3478261aeb32b2ae5523 (diff)
socket: limit vector count to IOV_MAX
IOV_MAX is the maximum supported vector count on a given platform. Limit the count to IOV_MAX if higher. As we are performing non-blocking IO getting a smaller return value is handled naturally. Change-Id: I94ef67a03ed0e10da67a776af2b55506bf721611 BUG: 1034398 Signed-off-by: Anand Avati <avati@redhat.com> Reviewed-on: http://review.gluster.org/6354 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amarts@gmail.com>
Diffstat (limited to 'libglusterfs/src')
-rw-r--r--libglusterfs/src/common-utils.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/libglusterfs/src/common-utils.h b/libglusterfs/src/common-utils.h
index 05e4d5b348d..500d34237f0 100644
--- a/libglusterfs/src/common-utils.h
+++ b/libglusterfs/src/common-utils.h
@@ -27,6 +27,7 @@
#ifndef GF_BSD_HOST_OS
#include <alloca.h>
#endif
+#include <limits.h>
void trap (void);
@@ -258,6 +259,8 @@ union gf_sock_union {
#define GF_HIDDEN_PATH ".glusterfs"
+#define IOV_MIN(n) min(IOV_MAX,n)
+
static inline void
iov_free (struct iovec *vector, int count)
{