summaryrefslogtreecommitdiffstats
path: root/api
diff options
context:
space:
mode:
Diffstat (limited to 'api')
-rw-r--r--api/src/glfs-mgmt.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/api/src/glfs-mgmt.c b/api/src/glfs-mgmt.c
index bf99005cbc3..7ef5ec93af1 100644
--- a/api/src/glfs-mgmt.c
+++ b/api/src/glfs-mgmt.c
@@ -653,12 +653,15 @@ volfile:
ret = 0;
size = rsp.op_ret;
+ pthread_mutex_lock(&fs->mutex);
if ((size == fs->oldvollen) &&
(memcmp(fs->oldvolfile, rsp.spec, size) == 0)) {
gf_msg(frame->this->name, GF_LOG_INFO, 0, API_MSG_VOLFILE_INFO,
"No change in volfile, continuing");
+ pthread_mutex_unlock(&fs->mutex);
goto out;
}
+ pthread_mutex_unlock(&fs->mutex);
/* coverity[secure_temp] mkstemp uses 0600 as the mode and is safe */
tmp_fd = mkstemp(template);
@@ -699,7 +702,10 @@ volfile:
* occurred during the operation
*/
+ pthread_mutex_lock(&fs->mutex);
ret = gf_volfile_reconfigure(fs->oldvollen, tmpfp, fs->ctx, fs->oldvolfile);
+ pthread_mutex_unlock(&fs->mutex);
+
if (ret == 0) {
gf_msg_debug("glusterfsd-mgmt", 0,
"No need to re-load "