diff options
author | mohit84 <moagrawa@redhat.com> | 2021-04-23 19:26:49 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-23 15:56:49 +0200 |
commit | dbbad5d69c73a62888a22adf40901e9a578c6518 (patch) | |
tree | 925b996e72687007aeddef5163289d3584146c68 | |
parent | 6a43697a6c2f41336a4ce6b85ea2b50c449fc7d0 (diff) | |
download | glusterfs-devel.tar.gz glusterfs-devel.tar.xz glusterfs-devel.zip |
glusterd: After upgrade on release 9.1 glusterd protocol is broken (#2352)devel
* glusterd: After upgrade on release 9.1 glusterd protocol is broken
After upgrade on release-9 glusterd protocol is broken
because on the upgraded nodes glusterd is not able to find an
actor at expected index in rpc procedure table.The new proc (GLUSTERD_MGMT_V3_POST_COMMIT)
was introduced from a patch(https://review.gluster.org/#/c/glusterfs/+/24771/)
in the middle due to that index of existing actor is changed on new upgraded nodes
glusterd is failing.
Solution: Change the proc(GLUSTERD_MGMT_V3_POST_COMMIT) position at
last in proc table to avoid an issue.
Fixes: #2351
Change-Id: I36575fd4302944336a75a8d4a305401a7128fd84
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
-rw-r--r-- | rpc/rpc-lib/src/protocol-common.h | 3 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-mgmt-handler.c | 7 |
2 files changed, 6 insertions, 4 deletions
diff --git a/rpc/rpc-lib/src/protocol-common.h b/rpc/rpc-lib/src/protocol-common.h index b18eac68ee..8f4212df52 100644 --- a/rpc/rpc-lib/src/protocol-common.h +++ b/rpc/rpc-lib/src/protocol-common.h @@ -309,9 +309,10 @@ enum glusterd_mgmt_v3_procnum { GLUSTERD_MGMT_V3_PRE_VALIDATE, GLUSTERD_MGMT_V3_BRICK_OP, GLUSTERD_MGMT_V3_COMMIT, - GLUSTERD_MGMT_V3_POST_COMMIT, GLUSTERD_MGMT_V3_POST_VALIDATE, GLUSTERD_MGMT_V3_UNLOCK, + GLUSTERD_MGMT_V3_POST_COMMIT, + /* Always add new proc just before the MGMT_V3_MAXVALUE declartion */ GLUSTERD_MGMT_V3_MAXVALUE, }; diff --git a/xlators/mgmt/glusterd/src/glusterd-mgmt-handler.c b/xlators/mgmt/glusterd/src/glusterd-mgmt-handler.c index 4020f38b89..89e430a255 100644 --- a/xlators/mgmt/glusterd/src/glusterd-mgmt-handler.c +++ b/xlators/mgmt/glusterd/src/glusterd-mgmt-handler.c @@ -1084,9 +1084,6 @@ static rpcsvc_actor_t gd_svc_mgmt_v3_actors[GLUSTERD_MGMT_V3_MAXVALUE] = { GLUSTERD_MGMT_V3_BRICK_OP, DRC_NA, 0}, [GLUSTERD_MGMT_V3_COMMIT] = {"COMMIT", glusterd_handle_commit, NULL, GLUSTERD_MGMT_V3_COMMIT, DRC_NA, 0}, - [GLUSTERD_MGMT_V3_POST_COMMIT] = {"POST_COMMIT", - glusterd_handle_post_commit, NULL, - GLUSTERD_MGMT_V3_POST_COMMIT, DRC_NA, 0}, [GLUSTERD_MGMT_V3_POST_VALIDATE] = {"POST_VAL", glusterd_handle_post_validate, NULL, GLUSTERD_MGMT_V3_POST_VALIDATE, DRC_NA, @@ -1094,6 +1091,10 @@ static rpcsvc_actor_t gd_svc_mgmt_v3_actors[GLUSTERD_MGMT_V3_MAXVALUE] = { [GLUSTERD_MGMT_V3_UNLOCK] = {"MGMT_V3_UNLOCK", glusterd_handle_mgmt_v3_unlock, NULL, GLUSTERD_MGMT_V3_UNLOCK, DRC_NA, 0}, + [GLUSTERD_MGMT_V3_POST_COMMIT] = {"POST_COMMIT", + glusterd_handle_post_commit, NULL, + GLUSTERD_MGMT_V3_POST_COMMIT, DRC_NA, 0}, + }; struct rpcsvc_program gd_svc_mgmt_v3_prog = { |