summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src/glusterd.h
diff options
context:
space:
mode:
authorAmar Tumballi <amar@gluster.com>2011-12-20 14:54:35 +0530
committerAnand Avati <avati@redhat.com>2012-03-21 11:58:11 -0700
commitc3bdb1d4c6c4491afdf1ba26bb0d6204270cc058 (patch)
treef1d3e6e9adb2146754ee1a0ec12bd0ea4014ef03 /xlators/mgmt/glusterd/src/glusterd.h
parent8217148c97a474a9eab4a309589ceb8ff281f5c6 (diff)
glusterd: bring in feature to use syncop for mgmt ops
* new sycnop routines added to mgmt program * one should not use 'glusterd_op_begin()', instead can use the synctask framework, 'glusterd_op_begin_synctask()' * currently using for below operations: 'volume start', 'volume rebalance', 'volume quota', 'volume replace-brick' and 'volume add-brick' Change-Id: I0bee76d06790d5c5bb5db15d443b44af0e21f1c0 BUG: 762935 Signed-off-by: Amar Tumballi <amar@gluster.com> Reviewed-on: http://review.gluster.com/479 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd.h')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd.h b/xlators/mgmt/glusterd/src/glusterd.h
index 44934b2f..ad8e0bbf 100644
--- a/xlators/mgmt/glusterd/src/glusterd.h
+++ b/xlators/mgmt/glusterd/src/glusterd.h
@@ -46,6 +46,7 @@
#include "protocol-common.h"
#include "glusterd-pmap.h"
#include "cli1-xdr.h"
+#include "syncop.h"
#define GLUSTERD_MAX_VOLUME_NAME 1000
#define DEFAULT_LOG_FILE_DIRECTORY DATADIR "/log/glusterfs"
@@ -123,6 +124,8 @@ typedef struct {
#ifdef DEBUG
gf_boolean_t valgrind;
#endif
+ pthread_t brick_thread;
+ xlator_t *xl; /* Should be set to 'THIS' before creating thread */
} glusterd_conf_t;
typedef enum gf_brick_status {
@@ -628,4 +631,12 @@ int glusterd_op_stop_volume_args_get (dict_t *dict, char** volname, int *flags);
int glusterd_op_statedump_volume_args_get (dict_t *dict, char **volname,
char **options, int *option_cnt);
+/* Synctask part */
+int gd_sync_task_begin (void *data);
+int gd_sync_task_completion (int op_ret, call_frame_t *sync_frame, void *data);
+
+int32_t glusterd_op_begin_synctask (rpcsvc_request_t *req, glusterd_op_t op,
+ void *dict);
+
+
#endif