]> git.proxmox.com Git - pve-cluster.git/blobdiff - data/src/status.c
restart pve-cluster.service on failure
[pve-cluster.git] / data / src / status.c
index 3896fcbe910f6840b228056442eefb6804e9963d..9b5d4c6a929c77ab030dd13d3ef0e6c2f164e49b 100644 (file)
@@ -89,6 +89,8 @@ static memdb_change_t memdb_change_array[] = {
        { .path = "ha/groups.cfg" },
        { .path = "ha/fence.cfg" },
        { .path = "status.cfg" },
+       { .path = "replication.cfg" },
+       { .path = "ceph.conf" },
 };
 
 static GMutex mutex;
@@ -1075,10 +1077,13 @@ void
 cfs_rrd_dump(GString *str)
 {
        time_t ctime;
-       time(&ctime);
 
+       g_mutex_lock (&mutex);
+
+       time(&ctime);
        if (rrd_dump_buf && (ctime - rrd_dump_last) < 2) {
                g_string_assign(str, rrd_dump_buf);
+               g_mutex_unlock (&mutex);
                return;
        }
 
@@ -1107,6 +1112,8 @@ cfs_rrd_dump(GString *str)
        if (rrd_dump_buf)
                g_free(rrd_dump_buf);
        rrd_dump_buf = g_strdup(str->str);
+
+       g_mutex_unlock (&mutex);
 }
 
 static gboolean
@@ -1298,7 +1305,7 @@ cfs_create_status_msg(
 
        if (!nodename || !nodename[0] || !strcmp(nodename, cfs.nodename)) {
                kvhash = cfs_status.kvhash;
-       } else {
+       } else if (cfs_status.clinfo && cfs_status.clinfo->nodes_byname) {
                cfs_clnode_t *clnode;
                if ((clnode = g_hash_table_lookup(cfs_status.clinfo->nodes_byname, nodename)))
                        kvhash = clnode->kvhash;