diff options
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-syncop.h')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-syncop.h | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-syncop.h b/xlators/mgmt/glusterd/src/glusterd-syncop.h index c7924b5a025..e0733dc8006 100644 --- a/xlators/mgmt/glusterd/src/glusterd-syncop.h +++ b/xlators/mgmt/glusterd/src/glusterd-syncop.h @@ -37,11 +37,19 @@ } while (0) +#define list_for_each_local_xaction_peers(xact_peer, xact_peers_head) \ + glusterd_local_peers_t *pos = NULL; \ + for (pos = list_entry((xact_peers_head)->next, glusterd_local_peers_t,\ + op_peers_list), \ + xact_peer = pos->peerinfo; \ + &pos->op_peers_list != (xact_peers_head); \ + pos = list_entry(pos->op_peers_list.next, glusterd_local_peers_t,\ + op_peers_list), \ + xact_peer = pos->peerinfo) + int gd_syncop_submit_request (struct rpc_clnt *rpc, void *req, void *local, void *cookie, rpc_clnt_prog_t *prog, int procnum, fop_cbk_fn_t cbkfn, xdrproc_t xdrproc); - - int gd_syncop_mgmt_lock (glusterd_peerinfo_t *peerinfo, struct syncargs *arg, uuid_t my_uuid, uuid_t recv_uuid); @@ -64,6 +72,15 @@ gd_synctask_barrier_wait (struct syncargs *args, int count); int gd_build_peers_list (struct list_head *peers, struct list_head *xact_peers, glusterd_op_t op); + +int +gd_build_local_xaction_peers_list (struct list_head *peers, + struct list_head *xact_peers, + glusterd_op_t op); + +void +gd_cleanup_local_xaction_peers_list (struct list_head *peers); + int gd_brick_op_phase (glusterd_op_t op, dict_t *op_ctx, dict_t *req_dict, char **op_errstr); |