diff options
author | Gaurav Yadav <gyadav@redhat.com> | 2017-10-27 16:04:46 +0530 |
---|---|---|
committer | Atin Mukherjee <amukherj@redhat.com> | 2017-10-31 04:34:10 +0000 |
commit | 15fe99995b8650a677b097028bc14d61a5dd5e1b (patch) | |
tree | abbb5e45a5f9edc73af1cc68c7f998396c9c285e /xlators/mgmt/glusterd/src/glusterd-op-sm.c | |
parent | 4edea128916eb76ec94fde90407eb70af6493337 (diff) |
glusterd: persist brickinfo's port change into glusterd's store
Problem:
Consider a case where node reboot is performed and prior to reboot
brick was listening to 49153. Post reboot glusterd assigned 49152
to brick and started the brick process but the new port was never
persisted. Now when glusterd restarts glusterd always read the port
from its persisted store i.e 49153 however pmap signin happens with
the correct port i.e 49152.
Fix:
Make sure when glusterd_brick_start is called, glusterd_store_volinfo is
eventually invoked.
Change-Id: Ic0efbd48c51d39729ed951a42922d0e59f7115a1
BUG: 1506589
Signed-off-by: Gaurav Yadav <gyadav@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-op-sm.c')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-op-sm.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c index f04cb2e7466..c53c1fbf08d 100644 --- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c +++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c @@ -2424,8 +2424,15 @@ glusterd_start_bricks (glusterd_volinfo_t *volinfo) brickinfo->path); goto out; } - } + } + ret = glusterd_store_volinfo (volinfo, GLUSTERD_VOLINFO_VER_AC_NONE); + if (ret) { + gf_msg (THIS->name, GF_LOG_ERROR, 0, GD_MSG_VOLINFO_STORE_FAIL, + "Failed to write volinfo for volume %s", + volinfo->volname); + goto out; + } ret = 0; out: return ret; |