diff options
author | Sanju Rakonde <srakonde@redhat.com> | 2020-07-24 14:11:24 +0530 |
---|---|---|
committer | MOHIT AGRAWAL <moagrawa@redhat.com> | 2020-09-21 03:58:30 +0000 |
commit | f86b1d4459580c74e516daa6542aa076bbcf131d (patch) | |
tree | ea48c2daea405440d04e2b71916ea17669f8b191 /xlators/mgmt/glusterd/src/glusterd-brick-ops.c | |
parent | 0ec6d61567ab1b5e481de45bdeb9912ffe5e89d7 (diff) |
glusterd: add post-commit phase to the transaction
This is part 2 of the fix. part 1 is at
https://review.gluster.org/#/c/glusterfs/+/24325/
This patch adds post commit phase to the mgmt v3 transaction
framework.
In post commit phase we replace the old auth.allow list
in case of add-brick and replace-brick.
fixes: #1391
Change-Id: I41c871d59e6252d27163b042ad710e929d7d0399
Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-brick-ops.c')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-brick-ops.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c index 5b33ebb0723..e56cd0e6c74 100644 --- a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c @@ -2234,6 +2234,42 @@ out: } int +glusterd_post_commit_add_brick(dict_t *dict, char **op_errstr) +{ + int ret = 0; + char *volname = NULL; + + ret = dict_get_strn(dict, "volname", SLEN("volname"), &volname); + + if (ret) { + gf_msg(THIS->name, GF_LOG_ERROR, errno, GD_MSG_DICT_GET_FAILED, + "Unable to get volume name"); + goto out; + } + ret = glusterd_replace_old_auth_allow_list(volname); +out: + return ret; +} + +int +glusterd_post_commit_replace_brick(dict_t *dict, char **op_errstr) +{ + int ret = 0; + char *volname = NULL; + + ret = dict_get_strn(dict, "volname", SLEN("volname"), &volname); + + if (ret) { + gf_msg(THIS->name, GF_LOG_ERROR, errno, GD_MSG_DICT_GET_FAILED, + "Unable to get volume name"); + goto out; + } + ret = glusterd_replace_old_auth_allow_list(volname); +out: + return ret; +} + +int glusterd_set_rebalance_id_for_remove_brick(dict_t *req_dict, dict_t *rsp_dict) { int ret = -1; |