diff options
Diffstat (limited to 'libglusterfs')
| -rw-r--r-- | libglusterfs/src/dict.c | 10 | ||||
| -rw-r--r-- | libglusterfs/src/dict.h | 3 | 
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,  | 
