From 8ad4d3f53000724389db6003ca6d6d777b880017 Mon Sep 17 00:00:00 2001 From: Rajesh Amaravathi Date: Mon, 19 Sep 2011 16:43:50 +0530 Subject: glusterd/top: volume top succeeds on partial brickpath Rewrite of glusterd_volume_brickinfo_get in glusterd-utils.c An additional argument to glusterd_volume_brick_info_get_by_brick and glusterd_volume_brickinfo_get enables matching brick path in two ways: Complete or partial(ancestor and descendent paths matched). Change-Id: Ia87833a6f0c139599c3e40b59d60c64281b4084b BUG: 3271 Reviewed-on: http://review.gluster.com/162 Tested-by: Gluster Build System Reviewed-by: Shishir Gowda Reviewed-by: Vijay Bellur --- xlators/mgmt/glusterd/src/glusterd-utils.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'xlators/mgmt/glusterd/src/glusterd-utils.h') diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.h b/xlators/mgmt/glusterd/src/glusterd-utils.h index f06a1ce17..93fa763bd 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.h +++ b/xlators/mgmt/glusterd/src/glusterd-utils.h @@ -38,6 +38,12 @@ #include "rpc-clnt.h" #include "protocol-common.h" +/* For brick search using path: partial or complete */ +typedef enum { + GF_PATH_COMPLETE = 0, + GF_PATH_PARTIAL +} gf_path_match_t; + struct glusterd_lock_ { uuid_t owner; time_t timestamp; @@ -129,7 +135,8 @@ glusterd_is_cli_op_req (int32_t op); int32_t glusterd_volume_brickinfo_get_by_brick (char *brick, glusterd_volinfo_t *volinfo, - glusterd_brickinfo_t **brickinfo); + glusterd_brickinfo_t **brickinfo, + gf_path_match_t path_match); int32_t glusterd_is_local_addr (char *hostname); @@ -245,7 +252,8 @@ glusterd_volume_brickinfos_delete (glusterd_volinfo_t *volinfo); int32_t glusterd_volume_brickinfo_get (uuid_t uuid, char *hostname, char *path, glusterd_volinfo_t *volinfo, - glusterd_brickinfo_t **brickinfo); + glusterd_brickinfo_t **brickinfo, + gf_path_match_t path_match); int glusterd_brickinfo_get (uuid_t uuid, char *hostname, char *path, glusterd_brickinfo_t **brickinfo); -- cgit