summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd
diff options
context:
space:
mode:
authorvmallika <vmallika@redhat.com>2015-12-03 14:55:36 +0530
committerAtin Mukherjee <amukherj@redhat.com>2015-12-08 23:25:25 -0800
commitf18432dde90fbea02ff656eecc916e8b04e0d516 (patch)
tree6bdbf0581410b6089a125d801be86f54c189ce54 /xlators/mgmt/glusterd
parent2142614f385352903d0cdb67657f2e639b79f72c (diff)
glusterd/quota: quota-version conflict in export/import volinfo
This is a backport of http://review.gluster.org/#/c/12865/ When exporting/importing voinfo during handshake, quota conf and quota xattr version were using same key 'quota-version' and updated wrong values when importing quota version values. > Change-Id: If939d6f5bc4851d4114963877be72dda21834f0f > BUG: 1287996 > Signed-off-by: vmallika <vmallika@redhat.com> Change-Id: Ic234d9e496f1372789112a0b82ba5cf34014de64 BUG: 1288052 Signed-off-by: vmallika <vmallika@redhat.com> Reviewed-on: http://review.gluster.org/12872 Tested-by: NetBSD Build System <jenkins@build.gluster.org> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-quota.c6
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-store.c4
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-utils.c9
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-volgen.c2
-rw-r--r--xlators/mgmt/glusterd/src/glusterd.h2
5 files changed, 12 insertions, 11 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-quota.c b/xlators/mgmt/glusterd/src/glusterd-quota.c
index 1830f0e8832..6495aa46d30 100644
--- a/xlators/mgmt/glusterd/src/glusterd-quota.c
+++ b/xlators/mgmt/glusterd/src/glusterd-quota.c
@@ -1504,12 +1504,12 @@ glusterd_op_quota (dict_t *dict, char **op_errstr, dict_t *rsp_dict)
if (GF_QUOTA_OPTION_TYPE_ENABLE == type)
- volinfo->quota_version++;
+ volinfo->quota_xattr_version++;
ret = glusterd_store_volinfo (volinfo,
GLUSTERD_VOLINFO_VER_AC_INCREMENT);
if (ret) {
if (GF_QUOTA_OPTION_TYPE_ENABLE == type)
- volinfo->quota_version--;
+ volinfo->quota_xattr_version--;
goto out;
}
@@ -1520,7 +1520,7 @@ glusterd_op_quota (dict_t *dict, char **op_errstr, dict_t *rsp_dict)
"volfiles");
if (GF_QUOTA_OPTION_TYPE_ENABLE == type) {
/* rollback volinfo */
- volinfo->quota_version--;
+ volinfo->quota_xattr_version--;
ret = glusterd_store_volinfo (volinfo,
GLUSTERD_VOLINFO_VER_AC_INCREMENT);
}
diff --git a/xlators/mgmt/glusterd/src/glusterd-store.c b/xlators/mgmt/glusterd/src/glusterd-store.c
index 73d416b384e..2c9ab006d3e 100644
--- a/xlators/mgmt/glusterd/src/glusterd-store.c
+++ b/xlators/mgmt/glusterd/src/glusterd-store.c
@@ -1023,7 +1023,7 @@ glusterd_volume_exclude_options_write (int fd, glusterd_volinfo_t *volinfo)
goto out;
}
- snprintf (buf, sizeof (buf), "%d", volinfo->quota_version);
+ snprintf (buf, sizeof (buf), "%d", volinfo->quota_xattr_version);
ret = gf_store_save_value (fd, GLUSTERD_STORE_KEY_VOL_QUOTA_VERSION,
buf);
if (ret)
@@ -2691,7 +2691,7 @@ glusterd_store_update_volinfo (glusterd_volinfo_t *volinfo)
volinfo->tier_info.cold_type = atoi (value);
} else if (!strncmp (key, GLUSTERD_STORE_KEY_VOL_QUOTA_VERSION,
strlen (GLUSTERD_STORE_KEY_VOL_QUOTA_VERSION))) {
- volinfo->quota_version = atoi (value);
+ volinfo->quota_xattr_version = atoi (value);
} else {
if (is_key_glusterd_hooks_friendly (key)) {
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c
index 5dde7b711a7..ead66896993 100644
--- a/xlators/mgmt/glusterd/src/glusterd-utils.c
+++ b/xlators/mgmt/glusterd/src/glusterd-utils.c
@@ -2504,8 +2504,8 @@ glusterd_add_volume_to_dict (glusterd_volinfo_t *volinfo,
ret = dict_set_int32 (dict, key, volinfo->caps);
memset (key, 0, sizeof (key));
- snprintf (key, sizeof (key), "%s%d.quota-version", prefix, count);
- ret = dict_set_int32 (dict, key, volinfo->quota_version);
+ snprintf (key, sizeof (key), "%s%d.quota-xattr-version", prefix, count);
+ ret = dict_set_int32 (dict, key, volinfo->quota_xattr_version);
out:
GF_FREE (volume_id_str);
GF_FREE (rebalance_id_str);
@@ -3597,9 +3597,10 @@ glusterd_import_volinfo (dict_t *peer_data, int count,
ret = dict_get_int32 (peer_data, key, &new_volinfo->caps);
memset (key, 0, sizeof (key));
- snprintf (key, sizeof (key), "%s%d.quota_version", prefix, count);
+ snprintf (key, sizeof (key), "%s%d.quota-xattr-version", prefix, count);
/*This is not present in older glusterfs versions, so ignore ret value*/
- ret = dict_get_int32 (peer_data, key, &new_volinfo->quota_version);
+ ret = dict_get_int32 (peer_data, key,
+ &new_volinfo->quota_xattr_version);
ret = glusterd_import_bricks (peer_data, count, new_volinfo, prefix);
if (ret)
diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c
index 5034b746ea1..0bad4bd144f 100644
--- a/xlators/mgmt/glusterd/src/glusterd-volgen.c
+++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c
@@ -1886,7 +1886,7 @@ brick_graph_add_marker (volgen_graph_t *graph, glusterd_volinfo_t *volinfo,
if (ret)
goto out;
- snprintf (buf, sizeof (buf), "%d", volinfo->quota_version);
+ snprintf (buf, sizeof (buf), "%d", volinfo->quota_xattr_version);
ret = xlator_set_option (xl, "quota-version", buf);
if (ret)
goto out;
diff --git a/xlators/mgmt/glusterd/src/glusterd.h b/xlators/mgmt/glusterd/src/glusterd.h
index a51320ffaaf..1e573f8c5ee 100644
--- a/xlators/mgmt/glusterd/src/glusterd.h
+++ b/xlators/mgmt/glusterd/src/glusterd.h
@@ -433,7 +433,7 @@ struct glusterd_volinfo_ {
gd_quorum_status_t quorum_status;
glusterd_snapdsvc_t snapd;
- int32_t quota_version;
+ int32_t quota_xattr_version;
};
typedef enum gd_snap_status_ {