diff options
| -rw-r--r-- | glusterfs.spec.in | 7 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 5 | 
2 files changed, 8 insertions, 4 deletions
diff --git a/glusterfs.spec.in b/glusterfs.spec.in index e151ae80954..4a2320bff6c 100644 --- a/glusterfs.spec.in +++ b/glusterfs.spec.in @@ -324,11 +324,10 @@ if [ $? -eq 0 ]; then      killall glusterd &> /dev/null      #add marker translator -    glusterd --xlator-option *.upgrade=on +    glusterd --xlator-option *.upgrade=on -N +    glusterd  else -    glusterd --xlator-option *.upgrade=on -    sleep 10 -    killall glusterd &> /dev/null +    glusterd --xlator-option *.upgrade=on -N  fi  %preun server diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index e5cfdda301b..c0597772b15 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -5007,6 +5007,7 @@ glusterd_handle_upgrade_downgrade (dict_t *options, glusterd_conf_t *conf)          gf_boolean_t     upgrade                        = _gf_false;          gf_boolean_t     downgrade                      = _gf_false;          gf_boolean_t     regenerate_brick_volfiles      = _gf_false; +        gf_boolean_t     terminate                      = _gf_false;          ret = dict_get_str (options, "upgrade", &type);          if (!ret) { @@ -5041,10 +5042,14 @@ glusterd_handle_upgrade_downgrade (dict_t *options, glusterd_conf_t *conf)          if (!upgrade && !downgrade)                  ret = 0; +        else +                terminate = _gf_true;          if (regenerate_brick_volfiles) {                  ret = glusterd_recreate_bricks (conf);          }  out: +        if (terminate && (ret == 0)) +                kill (getpid(), SIGTERM);          return ret;  }  | 
