diff options
-rw-r--r-- | libglusterfs/src/iobuf.c | 9 | ||||
-rw-r--r-- | libglusterfs/src/iobuf.h | 8 |
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 { |