summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/dht/src/dht-common.h
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/cluster/dht/src/dht-common.h')
-rw-r--r--xlators/cluster/dht/src/dht-common.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/xlators/cluster/dht/src/dht-common.h b/xlators/cluster/dht/src/dht-common.h
index 9b39596f872..f3e2c5cf41e 100644
--- a/xlators/cluster/dht/src/dht-common.h
+++ b/xlators/cluster/dht/src/dht-common.h
@@ -10,6 +10,7 @@
#include <regex.h>
#include <signal.h>
+#include <fnmatch.h>
#include "dht-mem-types.h"
#include "dht-messages.h"
@@ -47,10 +48,10 @@
*/
extern char *xattrs_to_heal[];
+/* Rebalance nodeuuid flags */
+#define REBAL_NODEUUID_MINE 0x01
-#include <fnmatch.h>
-
typedef int (*dht_selfheal_dir_cbk_t) (call_frame_t *frame, void *cookie,
xlator_t *this,
int32_t op_ret, int32_t op_errno,
@@ -515,10 +516,15 @@ typedef struct gf_tier_conf {
char volname[GD_VOLUME_NAME_MAX + 1];
} gf_tier_conf_t;
-typedef struct subvol_nodeuuids {
- uuid_t *uuids;
+typedef struct nodeuuid_info {
+ char info; /* Set to 1 is this is my node's uuid*/
+ uuid_t uuid; /* Store the nodeuuid as well for debugging*/
+} nodeuuid_info_t;
+
+typedef struct subvol_nodeuuids_info {
+ nodeuuid_info_t *elements;
int count;
-} subvol_nodeuuid_t;
+} subvol_nodeuuids_info_t;
struct gf_defrag_info_ {
@@ -662,7 +668,7 @@ struct dht_conf {
/*local subvol storage for rebalance*/
xlator_t **local_subvols;
- subvol_nodeuuid_t *local_nodeuuids;
+ subvol_nodeuuids_info_t *local_nodeuuids;
int32_t local_subvols_cnt;
/*