diff options
Diffstat (limited to 'libglusterfs/src/statedump.c')
-rw-r--r-- | libglusterfs/src/statedump.c | 61 |
1 files changed, 15 insertions, 46 deletions
diff --git a/libglusterfs/src/statedump.c b/libglusterfs/src/statedump.c index 412a47b9383..34b8061425c 100644 --- a/libglusterfs/src/statedump.c +++ b/libglusterfs/src/statedump.c @@ -501,14 +501,21 @@ gf_proc_dump_dict_info (glusterfs_ctx_t *ctx) (total_pairs / total_dicts)); } -static void -gf_proc_dump_per_xlator_info (xlator_t *top) +void +gf_proc_dump_xlator_info (xlator_t *top) { - xlator_t *trav = top; - glusterfs_ctx_t *ctx = top->ctx; + xlator_t *trav = NULL; + glusterfs_ctx_t *ctx = NULL; char itable_key[1024] = {0,}; - while (trav && !trav->cleanup_starting) { + if (!top) + return; + + ctx = top->ctx; + + trav = top; + while (trav) { + if (ctx->measure_latency) gf_proc_dump_latency_info (trav); @@ -532,6 +539,7 @@ gf_proc_dump_per_xlator_info (xlator_t *top) if (GF_PROC_DUMP_IS_XL_OPTION_ENABLED (inode) && (trav->dumpops->inode)) trav->dumpops->inode (trav); + if (trav->dumpops->fd && GF_PROC_DUMP_IS_XL_OPTION_ENABLED (fd)) trav->dumpops->fd (trav); @@ -542,30 +550,6 @@ gf_proc_dump_per_xlator_info (xlator_t *top) trav = trav->next; } -} - - - -void -gf_proc_dump_xlator_info (xlator_t *top, gf_boolean_t brick_mux) -{ - xlator_t *trav = NULL; - xlator_list_t **trav_p = NULL; - - if (!top) - return; - - trav = top; - gf_proc_dump_per_xlator_info (trav); - - if (brick_mux) { - trav_p = &top->children; - while (*trav_p) { - trav = (*trav_p)->xlator; - gf_proc_dump_per_xlator_info (trav); - trav_p = &(*trav_p)->next; - } - } return; } @@ -819,27 +803,12 @@ gf_proc_dump_info (int signum, glusterfs_ctx_t *ctx) char tmp_dump_name[PATH_MAX] = {0,}; char path[PATH_MAX] = {0,}; struct timeval tv = {0,}; - gf_boolean_t is_brick_mux = _gf_false; - xlator_t *top = NULL; - xlator_list_t **trav_p = NULL; - int brick_count = 0; gf_proc_dump_lock (); if (!ctx) goto out; - if (ctx) { - top = ctx->active->first; - for (trav_p = &top->children; *trav_p; - trav_p = &(*trav_p)->next) { - brick_count++; - } - - if (brick_count > 1) - is_brick_mux = _gf_true; - } - if (ctx->cmd_args.brick_name) { GF_REMOVE_SLASH_FROM_PATH (ctx->cmd_args.brick_name, brick_name); } else @@ -899,12 +868,12 @@ gf_proc_dump_info (int signum, glusterfs_ctx_t *ctx) if (ctx->master) { gf_proc_dump_add_section ("fuse"); - gf_proc_dump_xlator_info (ctx->master, _gf_false); + gf_proc_dump_xlator_info (ctx->master); } if (ctx->active) { gf_proc_dump_add_section ("active graph - %d", ctx->graph_id); - gf_proc_dump_xlator_info (ctx->active->top, is_brick_mux); + gf_proc_dump_xlator_info (ctx->active->top); } i = 0; |