summaryrefslogtreecommitdiffstats
path: root/libglusterfs/src
diff options
context:
space:
mode:
Diffstat (limited to 'libglusterfs/src')
-rw-r--r--libglusterfs/src/dict.c10
-rw-r--r--libglusterfs/src/dict.h3
2 files changed, 10 insertions, 3 deletions
diff --git a/libglusterfs/src/dict.c b/libglusterfs/src/dict.c
index aa06dcb2a8d..22bf3f99d70 100644
--- a/libglusterfs/src/dict.c
+++ b/libglusterfs/src/dict.c
@@ -3060,7 +3060,8 @@ dict_dump_to_statedump (dict_t *dict, char *dict_name, char *domain)
}
dict_t *
-dict_for_key_value (const char *name, const char *value, size_t size)
+dict_for_key_value (const char *name, const char *value, size_t size,
+ gf_boolean_t is_static)
{
dict_t *xattr = NULL;
int ret = 0;
@@ -3069,7 +3070,12 @@ dict_for_key_value (const char *name, const char *value, size_t size)
if (!xattr)
return NULL;
- ret = dict_set_static_bin (xattr, (char *)name, (void *)value, size);
+ if (is_static)
+ ret = dict_set_static_bin (xattr, (char *)name, (void *)value,
+ size);
+ else
+ ret = dict_set_bin (xattr, (char *)name, (void *)value, size);
+
if (ret) {
dict_destroy (xattr);
xattr = NULL;
diff --git a/libglusterfs/src/dict.h b/libglusterfs/src/dict.h
index b1ba3c20234..93ffa3e8cc7 100644
--- a/libglusterfs/src/dict.h
+++ b/libglusterfs/src/dict.h
@@ -256,7 +256,8 @@ gf_boolean_t
dict_match_everything (dict_t *d, char *k, data_t *v, void *data);
dict_t *
-dict_for_key_value (const char *name, const char *value, size_t size);
+dict_for_key_value (const char *name, const char *value, size_t size,
+ gf_boolean_t is_static);
gf_boolean_t
are_dicts_equal (dict_t *one, dict_t *two,