summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libglusterfs/src/iobuf.c9
-rw-r--r--libglusterfs/src/iobuf.h8
2 files changed, 17 insertions, 0 deletions
diff --git a/libglusterfs/src/iobuf.c b/libglusterfs/src/iobuf.c
index c2c1b9ac3e6..e075bf52445 100644
--- a/libglusterfs/src/iobuf.c
+++ b/libglusterfs/src/iobuf.c
@@ -740,3 +740,12 @@ iobuf_stats_dump (struct iobuf_pool *iobuf_pool)
return;
}
+
+
+void
+iobuf_to_iovec(struct iobuf *iob, struct iovec *iov)
+{
+ iov->iov_base = iobuf_ptr (iob);
+ iov->iov_len = iobuf_pagesize (iob);
+}
+
diff --git a/libglusterfs/src/iobuf.h b/libglusterfs/src/iobuf.h
index 9d35a8191e6..bc2209958cf 100644
--- a/libglusterfs/src/iobuf.h
+++ b/libglusterfs/src/iobuf.h
@@ -24,6 +24,7 @@
#include "common-utils.h"
#include <pthread.h>
#include <sys/mman.h>
+#include <sys/uio.h>
/* Lets try to define the new anonymous mapping
* flag, in case the system is still using the
@@ -107,6 +108,13 @@ struct iobuf_pool *iobuf_pool_new (size_t arena_size, size_t page_size);
void iobuf_pool_destroy (struct iobuf_pool *iobuf_pool);
struct iobuf *iobuf_get (struct iobuf_pool *iobuf_pool);
void iobuf_unref (struct iobuf *iobuf);
+struct iobuf *iobuf_ref (struct iobuf *iobuf);
+void iobuf_pool_destroy (struct iobuf_pool *iobuf_pool);
+void iobuf_to_iovec(struct iobuf *iob, struct iovec *iov);
+
+#define iobuf_ptr(iob) ((iob)->ptr)
+#define iobpool_pagesize(iobpool) ((iobpool)->page_size)
+#define iobuf_pagesize(iob) (iobpool_pagesize((iob)->iobuf_arena->iobuf_pool))
struct iobref {