summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-store.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-store.c b/xlators/mgmt/glusterd/src/glusterd-store.c
index de4b5a60281..862cba4f9cc 100644
--- a/xlators/mgmt/glusterd/src/glusterd-store.c
+++ b/xlators/mgmt/glusterd/src/glusterd-store.c
@@ -2059,9 +2059,13 @@ glusterd_store_global_info (xlator_t *this)
ret = -1;
goto out;
}
-
- ret = gf_store_save_value (handle->fd, GLUSTERD_STORE_UUID_KEY,
- uuid_str);
+ pthread_mutex_lock (&conf->mutex);
+ {
+ ret = gf_store_save_value (handle->fd,
+ GLUSTERD_STORE_UUID_KEY,
+ uuid_str);
+ }
+ pthread_mutex_unlock (&conf->mutex);
if (ret) {
gf_msg (this->name, GF_LOG_CRITICAL, 0,
GD_MSG_UUID_SET_FAIL,
@@ -2296,15 +2300,19 @@ glusterd_retrieve_uuid ()
priv->handle = handle;
}
-
- ret = gf_store_retrieve_value (priv->handle, GLUSTERD_STORE_UUID_KEY,
- &uuid_str);
-
+ pthread_mutex_lock (&priv->mutex);
+ {
+ ret = gf_store_retrieve_value (priv->handle,
+ GLUSTERD_STORE_UUID_KEY,
+ &uuid_str);
+ }
+ pthread_mutex_unlock (&priv->mutex);
if (ret) {
gf_msg_debug (this->name, 0, "No previous uuid is present");
goto out;
}
+
gf_uuid_parse (uuid_str, priv->uuid);
out: