diff options
Diffstat (limited to 'libglusterfs/src/iobuf.c')
-rw-r--r-- | libglusterfs/src/iobuf.c | 98 |
1 files changed, 70 insertions, 28 deletions
diff --git a/libglusterfs/src/iobuf.c b/libglusterfs/src/iobuf.c index a717792ce..42b7f4267 100644 --- a/libglusterfs/src/iobuf.c +++ b/libglusterfs/src/iobuf.c @@ -77,8 +77,10 @@ __iobuf_arena_destroy_iobufs (struct iobuf_arena *iobuf_arena) page_size = iobuf_arena->iobuf_pool->page_size; iobuf_cnt = arena_size / page_size; - if (!iobuf_arena->iobufs) + if (!iobuf_arena->iobufs) { + gf_log ("", GF_LOG_DEBUG, "iobufs not found"); return; + } iobuf = iobuf_arena->iobufs; for (i = 0; i < iobuf_cnt; i++) { @@ -97,9 +99,10 @@ __iobuf_arena_destroy (struct iobuf_arena *iobuf_arena) { struct iobuf_pool *iobuf_pool = NULL; - if (!iobuf_arena) + if (!iobuf_arena) { + gf_log ("", GF_LOG_DEBUG, "iobufs not found"); return; - + } iobuf_pool = iobuf_arena->iobuf_pool; __iobuf_arena_destroy_iobufs (iobuf_arena); @@ -131,12 +134,16 @@ __iobuf_arena_alloc (struct iobuf_pool *iobuf_pool) arena_size = iobuf_pool->arena_size; iobuf_arena->mem_base = mmap (NULL, arena_size, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0); - if (iobuf_arena->mem_base == MAP_FAILED) + if (iobuf_arena->mem_base == MAP_FAILED) { + gf_log ("", GF_LOG_WARNING, "maping failed"); goto err; + } __iobuf_arena_init_iobufs (iobuf_arena); - if (!iobuf_arena->iobufs) + if (!iobuf_arena->iobufs) { + gf_log ("", GF_LOG_DEBUG, "init failed"); goto err; + } iobuf_pool->arena_cnt++; @@ -174,8 +181,10 @@ __iobuf_pool_add_arena (struct iobuf_pool *iobuf_pool) if (!iobuf_arena) iobuf_arena = __iobuf_arena_alloc (iobuf_pool); - if (!iobuf_arena) + if (!iobuf_arena) { + gf_log ("", GF_LOG_WARNING, "arena not found"); return NULL; + } list_add_tail (&iobuf_arena->list, &iobuf_pool->arenas.list); @@ -204,8 +213,10 @@ iobuf_pool_destroy (struct iobuf_pool *iobuf_pool) struct iobuf_arena *iobuf_arena = NULL; struct iobuf_arena *tmp = NULL; - if (!iobuf_pool) + if (!iobuf_pool) { + gf_log ("", GF_LOG_WARNING, "iobuf pool not found"); return; + } list_for_each_entry_safe (iobuf_arena, tmp, &iobuf_pool->arenas.list, list) { @@ -223,8 +234,12 @@ iobuf_pool_new (size_t arena_size, size_t page_size) { struct iobuf_pool *iobuf_pool = NULL; - if (arena_size < page_size) + if (arena_size < page_size) { + gf_log ("", GF_LOG_WARNING, + "arena size (%zu) is less than page size(%zu)", + arena_size, page_size); return NULL; + } iobuf_pool = GF_CALLOC (sizeof (*iobuf_pool), 1, gf_common_mt_iobuf_pool); @@ -357,12 +372,16 @@ iobuf_get (struct iobuf_pool *iobuf_pool) { /* most eligible arena for picking an iobuf */ iobuf_arena = __iobuf_select_arena (iobuf_pool); - if (!iobuf_arena) + if (!iobuf_arena) { + gf_log ("", GF_LOG_WARNING, "arena not found"); goto unlock; + } iobuf = __iobuf_get (iobuf_arena); - if (!iobuf) + if (!iobuf) { + gf_log ("", GF_LOG_WARNING, "iobuf not found"); goto unlock; + } __iobuf_ref (iobuf); } @@ -404,16 +423,22 @@ iobuf_put (struct iobuf *iobuf) struct iobuf_arena *iobuf_arena = NULL; struct iobuf_pool *iobuf_pool = NULL; - if (!iobuf) + if (!iobuf) { + gf_log ("", GF_LOG_WARNING, "iobuf not found"); return; + } iobuf_arena = iobuf->iobuf_arena; - if (!iobuf_arena) + if (!iobuf_arena) { + gf_log ("", GF_LOG_WARNING, "arena not found"); return; + } iobuf_pool = iobuf_arena->iobuf_pool; - if (!iobuf_pool) + if (!iobuf_pool) { + gf_log ("", GF_LOG_WARNING, "iobuf pool not found"); return; + } pthread_mutex_lock (&iobuf_pool->mutex); { @@ -430,8 +455,10 @@ iobuf_unref (struct iobuf *iobuf) { int ref = 0; - if (!iobuf) + if (!iobuf) { + gf_log ("", GF_LOG_WARNING, "iobuf not found"); return; + } LOCK (&iobuf->lock); { @@ -448,8 +475,10 @@ iobuf_unref (struct iobuf *iobuf) struct iobuf * iobuf_ref (struct iobuf *iobuf) { - if (!iobuf) + if (!iobuf) { + gf_log ("", GF_LOG_WARNING, "iobuf not found"); return NULL; + } LOCK (&iobuf->lock); { @@ -482,8 +511,10 @@ iobref_new () struct iobref * iobref_ref (struct iobref *iobref) { - if (!iobref) + if (!iobref) { + gf_log ("", GF_LOG_WARNING, "iobref not found"); return NULL; + } LOCK (&iobref->lock); { @@ -521,8 +552,10 @@ iobref_unref (struct iobref *iobref) { int ref = 0; - if (!iobref) + if (!iobref) { + gf_log ("", GF_LOG_WARNING, "iobref not found"); return; + } LOCK (&iobref->lock); { @@ -558,11 +591,10 @@ iobref_add (struct iobref *iobref, struct iobuf *iobuf) { int ret = 0; - if (!iobref) - return -EINVAL; - - if (!iobuf) + if (!iobref || !iobuf) { + gf_log ("", GF_LOG_WARNING, "(iobref || iobuf) not found"); return -EINVAL; + } LOCK (&iobref->lock); { @@ -606,14 +638,20 @@ iobuf_size (struct iobuf *iobuf) { size_t size = 0; - if (!iobuf) + if (!iobuf) { + gf_log ("", GF_LOG_WARNING, "iobuf not found"); goto out; + } - if (!iobuf->iobuf_arena) + if (!iobuf->iobuf_arena) { + gf_log ("", GF_LOG_WARNING, "arena not found"); goto out; + } - if (!iobuf->iobuf_arena->iobuf_pool) + if (!iobuf->iobuf_arena->iobuf_pool) { + gf_log ("", GF_LOG_WARNING, "pool not found"); goto out; + } size = iobuf->iobuf_arena->iobuf_pool->page_size; out: @@ -627,8 +665,10 @@ iobref_size (struct iobref *iobref) size_t size = 0; int i = 0; - if (!iobref) + if (!iobref) { + gf_log ("", GF_LOG_WARNING, "iobref not found"); goto out; + } LOCK (&iobref->lock); { @@ -649,15 +689,17 @@ iobuf_info_dump (struct iobuf *iobuf, const char *key_prefix) struct iobuf my_iobuf; int ret = 0; - if (!iobuf) + if (!iobuf) { + gf_log ("", GF_LOG_WARNING, "iobuf not found"); return; + } memset(&my_iobuf, 0, sizeof(my_iobuf)); ret = TRY_LOCK(&iobuf->lock); if (ret) { gf_log("", GF_LOG_WARNING, "Unable to dump iobuf" - " errno: %d", errno); + " errno: %s", strerror (errno)); return; } memcpy(&my_iobuf, iobuf, sizeof(my_iobuf)); @@ -712,7 +754,7 @@ iobuf_stats_dump (struct iobuf_pool *iobuf_pool) if (ret) { gf_log("", GF_LOG_WARNING, "Unable to dump iobuf pool" - " errno: %d", errno); + " errno: %s", strerror (errno)); return; } gf_proc_dump_add_section("iobuf.global"); |