diff options
-rw-r--r-- | tests/bugs/quota/bug-1213364-disable-deem-statfs-when-quota-disable.t | 24 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-quota.c | 9 |
2 files changed, 33 insertions, 0 deletions
diff --git a/tests/bugs/quota/bug-1213364-disable-deem-statfs-when-quota-disable.t b/tests/bugs/quota/bug-1213364-disable-deem-statfs-when-quota-disable.t new file mode 100644 index 00000000000..aaf4a315949 --- /dev/null +++ b/tests/bugs/quota/bug-1213364-disable-deem-statfs-when-quota-disable.t @@ -0,0 +1,24 @@ +#!/bin/bash +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../volume.rc + +cleanup; + +TEST glusterd +TEST pidof glusterd + +TEST $CLI volume create $V0 replica 2 $H0:$B0/${V0}{1,2}; +EXPECT 'Created' volinfo_field $V0 'Status'; + +TEST $CLI volume start $V0; +EXPECT 'Started' volinfo_field $V0 'Status'; + +TEST $CLI volume quota $V0 enable +EXPECT 'on' volinfo_field $V0 'features.quota' +EXPECT 'on' volinfo_field $V0 'features.quota-deem-statfs' + +TEST $CLI volume quota $V0 disable +EXPECT 'off' volinfo_field $V0 'features.quota' +EXPECT '' volinfo_field $V0 'features.quota-deem-statfs' + +cleanup; diff --git a/xlators/mgmt/glusterd/src/glusterd-quota.c b/xlators/mgmt/glusterd/src/glusterd-quota.c index ff6ece9bbca..7238032b141 100644 --- a/xlators/mgmt/glusterd/src/glusterd-quota.c +++ b/xlators/mgmt/glusterd/src/glusterd-quota.c @@ -456,6 +456,15 @@ glusterd_quota_enable (glusterd_volinfo_t *volinfo, char **op_errstr, goto out; } + ret = dict_set_dynstr_with_alloc (volinfo->dict, + "features.quota-deem-statfs", + "on"); + if (ret) { + gf_log (this->name, GF_LOG_ERROR, "setting quota-deem-statfs" + "in volinfo failed"); + goto out; + } + *crawl = _gf_true; ret = glusterd_store_quota_config (volinfo, NULL, NULL, |