From bdf3fc698515b44e6f1a11f6dbc8d9ff4b5fd74e Mon Sep 17 00:00:00 2001 From: Shehjar Tikoo Date: Thu, 25 Feb 2010 15:37:45 +0000 Subject: iobuf: Expose macros and create new ones Signed-off-by: Shehjar Tikoo Signed-off-by: Anand V. Avati BUG: 597 (miscellaneous fixes for xlators to work well with NFS xlator) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=597 --- libglusterfs/src/iobuf.c | 9 +++++++++ libglusterfs/src/iobuf.h | 8 ++++++++ 2 files changed, 17 insertions(+) (limited to 'libglusterfs/src') 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 #include +#include /* 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 { -- cgit