diff options
author | Amar Tumballi <amar@gluster.com> | 2011-12-20 14:54:35 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2012-03-21 11:58:11 -0700 |
commit | c3bdb1d4c6c4491afdf1ba26bb0d6204270cc058 (patch) | |
tree | f1d3e6e9adb2146754ee1a0ec12bd0ea4014ef03 /xlators/mgmt/glusterd/src/glusterd.h | |
parent | 8217148c97a474a9eab4a309589ceb8ff281f5c6 (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.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd.h b/xlators/mgmt/glusterd/src/glusterd.h index 44934b2fc80..ad8e0bbfa1f 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 |