diff options
Diffstat (limited to 'xlators/mgmt/glusterd/src')
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-quota.c | 19 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 19 | 
2 files changed, 20 insertions, 18 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-quota.c b/xlators/mgmt/glusterd/src/glusterd-quota.c index ffde532bdcd..d13533aa6c1 100644 --- a/xlators/mgmt/glusterd/src/glusterd-quota.c +++ b/xlators/mgmt/glusterd/src/glusterd-quota.c @@ -996,14 +996,6 @@ glusterd_quotad_op (int opcode)                                  ret = glusterd_check_generate_start_quotad ();                          break; -                case GF_QUOTA_OPTION_TYPE_DEFAULT_SOFT_LIMIT: -                case GF_QUOTA_OPTION_TYPE_HARD_TIMEOUT: -                case GF_QUOTA_OPTION_TYPE_SOFT_TIMEOUT: -                case GF_QUOTA_OPTION_TYPE_ALERT_TIME: - -                        ret = glusterd_reconfigure_quotad (); -                        break; -                  default:                          ret = 0;                          break; @@ -1131,6 +1123,12 @@ glusterd_op_quota (dict_t *dict, char **op_errstr, dict_t *rsp_dict)                          goto out;          } +        if (priv->op_version > GD_OP_VERSION_MIN) { +                ret = glusterd_quotad_op (type); +                if (ret) +                        goto out; +        } +          ret = glusterd_create_volfiles_and_notify_services (volinfo);          if (ret) {                  gf_log (this->name, GF_LOG_ERROR, "Unable to re-create " @@ -1151,11 +1149,6 @@ glusterd_op_quota (dict_t *dict, char **op_errstr, dict_t *rsp_dict)          if (rsp_dict && start_crawl == _gf_true)                  glusterd_quota_initiate_fs_crawl (priv, volname, type); -        if (priv->op_version > GD_OP_VERSION_MIN) { -                ret = glusterd_quotad_op (type); -                if (ret) -                        goto out; -        }          ret = 0;  out:          return ret; diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index 8b99d20ee95..7c58e51addb 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -3965,7 +3965,7 @@ glusterd_nodesvc_disconnect (char *server)  }  int32_t -glusterd_nodesvc_start (char *server) +glusterd_nodesvc_start (char *server, gf_boolean_t wait)  {          int32_t                 ret                        = -1;          xlator_t               *this                       = NULL; @@ -4051,7 +4051,16 @@ glusterd_nodesvc_start (char *server)          runner_log (&runner, "", GF_LOG_DEBUG,                      "Starting the nfs/glustershd services"); -        ret = runner_run_nowait (&runner); +        if (!wait) { +                ret = runner_run_nowait (&runner); +        } else { +                synclock_unlock (&priv->big_lock); +                { +                        ret = runner_run (&runner); +                } +                synclock_lock (&priv->big_lock); +        } +          if (ret == 0) {                  glusterd_nodesvc_connect (server, sockfpath);          } @@ -4062,19 +4071,19 @@ out:  int  glusterd_nfs_server_start ()  { -        return glusterd_nodesvc_start ("nfs"); +        return glusterd_nodesvc_start ("nfs", _gf_false);  }  int  glusterd_shd_start ()  { -        return glusterd_nodesvc_start ("glustershd"); +        return glusterd_nodesvc_start ("glustershd", _gf_false);  }  int  glusterd_quotad_start ()  { -        return glusterd_nodesvc_start ("quotad"); +        return glusterd_nodesvc_start ("quotad", _gf_true);  }  gf_boolean_t  | 
