diff options
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd.h')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd.h b/xlators/mgmt/glusterd/src/glusterd.h index 368c0a6847a..dce3275e73c 100644 --- a/xlators/mgmt/glusterd/src/glusterd.h +++ b/xlators/mgmt/glusterd/src/glusterd.h @@ -25,7 +25,10 @@ #include "config.h" #endif +#include <sys/types.h> +#include <dirent.h> #include <pthread.h> + #include "uuid.h" #include "rpc-clnt.h" @@ -84,6 +87,33 @@ struct glusterd_brickinfo { typedef struct glusterd_brickinfo glusterd_brickinfo_t; +struct gf_defrag_brickinfo_ { + char *name; + int files; + int size; +}; + +typedef enum gf_defrag_status_ { + GF_DEFRAG_STATUS_NOT_STARTED, + GF_DEFRAG_STATUS_STARTED, + GF_DEFRAG_STATUS_STOPED, + GF_DEFRAG_STATUS_COMPLETE, +} gf_defrag_status_t; + +struct glusterd_defrag_info_ { + uint64_t total_files; + uint64_t total_data; + uint64_t num_files_lookedup; + gf_lock_t lock; + pthread_t th; + char mount[1024]; + char databuf[131072]; + struct gf_defrag_brickinfo_ *bricks; /* volinfo->brick_count */ +}; + + +typedef struct glusterd_defrag_info_ glusterd_defrag_info_t; + struct glusterd_volinfo_ { char volname[GLUSTERD_MAX_VOLUME_NAME]; int type; @@ -94,6 +124,13 @@ struct glusterd_volinfo_ { int sub_count; int port; glusterd_store_handle_t *shandle; + + /* Defrag/rebalance related */ + gf_defrag_status_t defrag_status; + uint64_t rebalance_files; + uint64_t rebalance_data; + uint64_t lookedup_files; + glusterd_defrag_info_t *defrag; }; typedef struct glusterd_volinfo_ glusterd_volinfo_t; |