summaryrefslogtreecommitdiffstats
path: root/xlators/features/quota/src/quota.c
diff options
context:
space:
mode:
authorRaghavendra G <rgowdapp@redhat.com>2013-12-23 14:54:05 +0530
committerVijay Bellur <vbellur@redhat.com>2014-01-25 09:10:12 -0800
commitf05607fe05f7189dc65a6f328f83db0cbb946426 (patch)
treeb4c7b1730a8b64a9d26833be7dbfa20ff68f62d0 /xlators/features/quota/src/quota.c
parenta10100a4b8501d15c83b416b932d8d786ea550fb (diff)
mgmt/glusterd: make sure quota enforcer has established connection with quotad before marking quota as enabled.
without this patch there is a window of time when quota is marked as enabled in quota-enforcer, but connection to quotad wouldn't have been established. Any checklimit done during this period can result in a failed fop because of unavailability of quotad. Change-Id: I0d509fabc434dd55ce9ec59157123524197fcc80 Signed-off-by: Raghavendra G <rgowdapp@redhat.com> BUG: 969461 Signed-off-by: Raghavendra G <rgowdapp@redhat.com> Reviewed-on: http://review.gluster.org/6572 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'xlators/features/quota/src/quota.c')
-rw-r--r--xlators/features/quota/src/quota.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/xlators/features/quota/src/quota.c b/xlators/features/quota/src/quota.c
index e1471258b49..2812a2b13a9 100644
--- a/xlators/features/quota/src/quota.c
+++ b/xlators/features/quota/src/quota.c
@@ -4177,14 +4177,15 @@ err:
int
reconfigure (xlator_t *this, dict_t *options)
{
- int32_t ret = -1;
- quota_priv_t *priv = NULL;
+ int32_t ret = -1;
+ quota_priv_t *priv = NULL;
+ gf_boolean_t quota_on = _gf_false;
priv = this->private;
GF_OPTION_RECONF ("deem-statfs", priv->consider_statfs, options, bool,
out);
- GF_OPTION_RECONF ("server-quota", priv->is_quota_on, options, bool,
+ GF_OPTION_RECONF ("server-quota", quota_on, options, bool,
out);
GF_OPTION_RECONF ("default-soft-limit", priv->default_soft_lim,
options, percent, out);
@@ -4195,7 +4196,7 @@ reconfigure (xlator_t *this, dict_t *options)
GF_OPTION_RECONF ("hard-timeout", priv->hard_timeout, options,
time, out);
- if (priv->is_quota_on) {
+ if (quota_on) {
priv->rpc_clnt = quota_enforcer_init (this,
this->options);
if (priv->rpc_clnt == NULL) {
@@ -4216,6 +4217,8 @@ reconfigure (xlator_t *this, dict_t *options)
}
}
+ priv->is_quota_on = quota_on;
+
ret = 0;
out:
return ret;