glusterd: Move statedump utils into a new file.
Change-Id: I1bf26c9d294e95f7b82cfc7a96f9d5575f5e0362 BUG: 1176770 Signed-off-by: Krishnan Parthasarathi <kparthas@redhat.com> Reviewed-on: http://review.gluster.org/9313 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
This commit is contained in:
parent
f7a8bd08c8
commit
41e0e325aa
@ -10,7 +10,7 @@ glusterd_la_SOURCES = glusterd.c glusterd-handler.c glusterd-sm.c \
|
||||
glusterd-volume-ops.c glusterd-brick-ops.c glusterd-mountbroker.c \
|
||||
glusterd-syncop.c glusterd-hooks.c glusterd-volume-set.c \
|
||||
glusterd-locks.c glusterd-snapshot.c glusterd-mgmt-handler.c \
|
||||
glusterd-mgmt.c glusterd-peer-utils.c
|
||||
glusterd-mgmt.c glusterd-peer-utils.c glusterd-statedump.c
|
||||
|
||||
glusterd_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
|
||||
$(top_builddir)/rpc/xdr/src/libgfxdr.la \
|
||||
@ -24,7 +24,8 @@ noinst_HEADERS = glusterd.h glusterd-utils.h glusterd-op-sm.h \
|
||||
glusterd-sm.h glusterd-store.h glusterd-mem-types.h \
|
||||
glusterd-pmap.h glusterd-volgen.h glusterd-mountbroker.h \
|
||||
glusterd-syncop.h glusterd-hooks.h glusterd-locks.h \
|
||||
glusterd-mgmt.h glusterd-messages.h glusterd-peer-utils.h
|
||||
glusterd-mgmt.h glusterd-messages.h glusterd-peer-utils.h \
|
||||
glusterd-statedump.h
|
||||
|
||||
AM_CPPFLAGS = $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src \
|
||||
-I$(rpclibdir) -I$(CONTRIBDIR)/rbtree \
|
||||
|
245
xlators/mgmt/glusterd/src/glusterd-statedump.c
Normal file
245
xlators/mgmt/glusterd/src/glusterd-statedump.c
Normal file
@ -0,0 +1,245 @@
|
||||
/*
|
||||
Copyright (c) 2014 Red Hat, Inc. <http://www.redhat.com>
|
||||
This file is part of GlusterFS.
|
||||
|
||||
This file is licensed to you under your choice of the GNU Lesser
|
||||
General Public License, version 3 or any later version (LGPLv3 or
|
||||
later), or the GNU General Public License, version 2 (GPLv2), in all
|
||||
cases as published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef _CONFIG_H
|
||||
#define _CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include "statedump.h"
|
||||
#include "glusterd.h"
|
||||
#include "glusterd-locks.h"
|
||||
|
||||
|
||||
|
||||
static void
|
||||
glusterd_dump_peer (glusterd_peerinfo_t *peerinfo, char *input_key, int index,
|
||||
gf_boolean_t xpeers)
|
||||
{
|
||||
char subkey[50] = {0,};
|
||||
char key[GF_DUMP_MAX_BUF_LEN] = {0,};
|
||||
|
||||
strncpy (key, input_key, (GF_DUMP_MAX_BUF_LEN - 1));
|
||||
|
||||
snprintf (subkey, sizeof (subkey), "%s%d", key, index);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "uuid");
|
||||
gf_proc_dump_write (key, "%s",
|
||||
uuid_utoa (peerinfo->uuid));
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "hostname");
|
||||
gf_proc_dump_write (key, "%d", peerinfo->hostname);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "port");
|
||||
gf_proc_dump_write (key, "%d", peerinfo->port);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "state");
|
||||
gf_proc_dump_write (key, "%d", peerinfo->state.state);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "quorum-action");
|
||||
gf_proc_dump_write (key, "%d", peerinfo->quorum_action);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "quorum-contrib");
|
||||
gf_proc_dump_write (key, "%d",
|
||||
peerinfo->quorum_contrib);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "detaching");
|
||||
gf_proc_dump_write (key, "%d", peerinfo->detaching);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "locked");
|
||||
gf_proc_dump_write (key, "%d", peerinfo->locked);
|
||||
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
glusterd_dump_peer_rpcstat (glusterd_peerinfo_t *peerinfo, char *input_key,
|
||||
int index)
|
||||
{
|
||||
rpc_clnt_connection_t *conn = NULL;
|
||||
int ret = -1;
|
||||
rpc_clnt_t *rpc = NULL;
|
||||
char rpcsvc_peername[RPCSVC_PEER_STRLEN] = {0,};
|
||||
char subkey[50] = {0,};
|
||||
char key[GF_DUMP_MAX_BUF_LEN] = {0,};
|
||||
|
||||
strncpy (key, input_key, (GF_DUMP_MAX_BUF_LEN - 1));
|
||||
|
||||
/* Dump the rpc connection statistics */
|
||||
rpc = peerinfo->rpc;
|
||||
if (rpc) {
|
||||
conn = &rpc->conn;
|
||||
snprintf (subkey, sizeof (subkey), "%s%d", key, index);
|
||||
ret = rpcsvc_transport_peername (conn->trans,
|
||||
(char *)&rpcsvc_peername,
|
||||
sizeof (rpcsvc_peername));
|
||||
if (!ret) {
|
||||
gf_proc_dump_build_key (key, subkey, "rpc.peername");
|
||||
gf_proc_dump_write (key, "%s", rpcsvc_peername);
|
||||
}
|
||||
gf_proc_dump_build_key (key, subkey, "rpc.connected");
|
||||
gf_proc_dump_write (key, "%d", conn->connected);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "rpc.total-bytes-read");
|
||||
gf_proc_dump_write (key, "%"PRIu64,
|
||||
conn->trans->total_bytes_read);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "rpc.total-bytes-written");
|
||||
gf_proc_dump_write (key, "%"PRIu64,
|
||||
conn->trans->total_bytes_write);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "rpc.ping_msgs_sent");
|
||||
gf_proc_dump_write (key, "%"PRIu64, conn->pingcnt);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "rpc.msgs_sent");
|
||||
gf_proc_dump_write (key, "%"PRIu64, conn->msgcnt);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
glusterd_dump_client_details (glusterd_conf_t *conf)
|
||||
{
|
||||
rpc_transport_t *xprt = NULL;
|
||||
char key[GF_DUMP_MAX_BUF_LEN] = {0,};
|
||||
char subkey[50] = {0,};
|
||||
int index = 1;
|
||||
|
||||
pthread_mutex_lock (&conf->xprt_lock);
|
||||
{
|
||||
list_for_each_entry (xprt, &conf->xprt_list, list) {
|
||||
snprintf (subkey, sizeof (subkey), "glusterd.client%d",
|
||||
index);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "identifier");
|
||||
gf_proc_dump_write (key, "%s",
|
||||
xprt->peerinfo.identifier);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "volname");
|
||||
gf_proc_dump_write (key, "%s",
|
||||
xprt->peerinfo.volname);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "max-op-version");
|
||||
gf_proc_dump_write (key, "%u",
|
||||
xprt->peerinfo.max_op_version);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "min-op-version");
|
||||
gf_proc_dump_write (key, "%u",
|
||||
xprt->peerinfo.min_op_version);
|
||||
index++;
|
||||
}
|
||||
}
|
||||
pthread_mutex_unlock (&conf->xprt_lock);
|
||||
}
|
||||
|
||||
|
||||
/* The following function is just for dumping mgmt_v3_lock dictionary, any other
|
||||
* dict passed to this API will not work */
|
||||
|
||||
static void
|
||||
glusterd_dict_mgmt_v3_lock_statedump (dict_t *dict)
|
||||
{
|
||||
int ret = 0;
|
||||
int dumplen = 0;
|
||||
data_pair_t *trav = NULL;
|
||||
char key[GF_DUMP_MAX_BUF_LEN] = {0,};
|
||||
char dump[64*1024] = {0,};
|
||||
|
||||
if (!dict) {
|
||||
gf_log_callingfn ("glusterd", GF_LOG_WARNING, "dict NULL");
|
||||
goto out;
|
||||
}
|
||||
for (trav = dict->members_list; trav; trav = trav->next) {
|
||||
if (strstr (trav->key, "debug.last-success-bt") != NULL) {
|
||||
ret = snprintf (&dump[dumplen], sizeof(dump) - dumplen,
|
||||
"\n\t%s:%s", trav->key,
|
||||
trav->value->data);
|
||||
} else {
|
||||
ret = snprintf (&dump[dumplen], sizeof(dump) - dumplen,
|
||||
"\n\t%s:%s", trav->key,
|
||||
uuid_utoa (((glusterd_mgmt_v3_lock_obj *)
|
||||
(trav->value->data))->lock_owner));
|
||||
}
|
||||
if ((ret == -1) || !ret)
|
||||
return;
|
||||
dumplen += ret;
|
||||
}
|
||||
|
||||
if (dumplen) {
|
||||
gf_proc_dump_build_key (key, "glusterd", "mgmt_v3_lock");
|
||||
gf_proc_dump_write (key, "%s", dump);
|
||||
}
|
||||
|
||||
out:
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
glusterd_dump_priv (xlator_t *this)
|
||||
{
|
||||
int index = 1;
|
||||
glusterd_conf_t *priv = NULL;
|
||||
char key[GF_DUMP_MAX_BUF_LEN] = {0,};
|
||||
char subkey[50] = {0,};
|
||||
glusterd_peerinfo_t *peerinfo = NULL;
|
||||
glusterd_volinfo_t *volinfo = NULL;
|
||||
|
||||
GF_VALIDATE_OR_GOTO ("glusterd", this, out);
|
||||
|
||||
priv = this->private;
|
||||
if (!priv)
|
||||
return 0;
|
||||
|
||||
gf_proc_dump_build_key (key, "xlator.glusterd", "priv");
|
||||
gf_proc_dump_add_section (key);
|
||||
|
||||
pthread_mutex_lock (&priv->mutex);
|
||||
{
|
||||
gf_proc_dump_build_key (key, "glusterd", "my-uuid");
|
||||
gf_proc_dump_write (key, "%s", uuid_utoa (priv->uuid));
|
||||
|
||||
gf_proc_dump_build_key (key, "glusterd", "working-directory");
|
||||
gf_proc_dump_write (key, "%s", priv->workdir);
|
||||
|
||||
gf_proc_dump_build_key (key, "glusterd", "max-op-version");
|
||||
gf_proc_dump_write (key, "%d", GD_OP_VERSION_MAX);
|
||||
|
||||
gf_proc_dump_build_key (key, "glusterd", "min-op-version");
|
||||
gf_proc_dump_write (key, "%d", GD_OP_VERSION_MIN);
|
||||
|
||||
gf_proc_dump_build_key (key, "glusterd", "current-op-version");
|
||||
gf_proc_dump_write (key, "%d", priv->op_version);
|
||||
|
||||
gf_proc_dump_build_key (key, "glusterd", "ping-timeout");
|
||||
gf_proc_dump_write (key, "%d", priv->ping_timeout);
|
||||
|
||||
gf_proc_dump_build_key (key, "glusterd", "shd.online");
|
||||
gf_proc_dump_write (key, "%d", priv->shd->online);
|
||||
|
||||
gf_proc_dump_build_key (key, "glusterd", "nfs.online");
|
||||
gf_proc_dump_write (key, "%d", priv->nfs->online);
|
||||
|
||||
gf_proc_dump_build_key (key, "glusterd", "quotad.online");
|
||||
gf_proc_dump_write (key, "%d", priv->quotad->online);
|
||||
|
||||
GLUSTERD_DUMP_PEERS (&priv->peers, uuid_list, _gf_false);
|
||||
GLUSTERD_DUMP_PEERS (&priv->xaction_peers, op_peers_list,
|
||||
_gf_true);
|
||||
glusterd_dump_client_details (priv);
|
||||
glusterd_dict_mgmt_v3_lock_statedump(priv->mgmt_v3_lock);
|
||||
dict_dump_to_statedump (priv->opts, "options", "glusterd");
|
||||
}
|
||||
pthread_mutex_unlock (&priv->mutex);
|
||||
|
||||
out:
|
||||
return 0;
|
||||
}
|
23
xlators/mgmt/glusterd/src/glusterd-statedump.h
Normal file
23
xlators/mgmt/glusterd/src/glusterd-statedump.h
Normal file
@ -0,0 +1,23 @@
|
||||
/*
|
||||
Copyright (c) 2014 Red Hat, Inc. <http://www.redhat.com>
|
||||
This file is part of GlusterFS.
|
||||
|
||||
This file is licensed to you under your choice of the GNU Lesser
|
||||
General Public License, version 3 or any later version (LGPLv3 or
|
||||
later), or the GNU General Public License, version 2 (GPLv2), in all
|
||||
cases as published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef _GLUSTERD_STATEDUMP_H_
|
||||
#define _GLUSTERD_STATEDUMP_H_
|
||||
|
||||
#ifndef _CONFIG_H
|
||||
#define _CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include "xlator.h"
|
||||
|
||||
int
|
||||
glusterd_dump_priv (xlator_t *this);
|
||||
#endif
|
@ -31,7 +31,7 @@
|
||||
#include "compat.h"
|
||||
#include "compat-errno.h"
|
||||
#include "syscall.h"
|
||||
#include "statedump.h"
|
||||
#include "glusterd-statedump.h"
|
||||
#include "glusterd-sm.h"
|
||||
#include "glusterd-op-sm.h"
|
||||
#include "glusterd-store.h"
|
||||
@ -277,227 +277,6 @@ glusterd_fetchsnap_notify (xlator_t *this)
|
||||
return ret;
|
||||
}
|
||||
|
||||
void
|
||||
glusterd_dump_peer (glusterd_peerinfo_t *peerinfo, char *input_key, int index,
|
||||
gf_boolean_t xpeers)
|
||||
{
|
||||
char subkey[50] = {0,};
|
||||
char key[GF_DUMP_MAX_BUF_LEN] = {0,};
|
||||
|
||||
strncpy (key, input_key, (GF_DUMP_MAX_BUF_LEN - 1));
|
||||
|
||||
snprintf (subkey, sizeof (subkey), "%s%d", key, index);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "uuid");
|
||||
gf_proc_dump_write (key, "%s",
|
||||
uuid_utoa (peerinfo->uuid));
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "hostname");
|
||||
gf_proc_dump_write (key, "%d", peerinfo->hostname);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "port");
|
||||
gf_proc_dump_write (key, "%d", peerinfo->port);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "state");
|
||||
gf_proc_dump_write (key, "%d", peerinfo->state.state);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "quorum-action");
|
||||
gf_proc_dump_write (key, "%d", peerinfo->quorum_action);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "quorum-contrib");
|
||||
gf_proc_dump_write (key, "%d",
|
||||
peerinfo->quorum_contrib);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "detaching");
|
||||
gf_proc_dump_write (key, "%d", peerinfo->detaching);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "locked");
|
||||
gf_proc_dump_write (key, "%d", peerinfo->locked);
|
||||
|
||||
}
|
||||
|
||||
void
|
||||
glusterd_dump_peer_rpcstat (glusterd_peerinfo_t *peerinfo, char *input_key,
|
||||
int index)
|
||||
{
|
||||
rpc_clnt_connection_t *conn = NULL;
|
||||
int ret = -1;
|
||||
rpc_clnt_t *rpc = NULL;
|
||||
char rpcsvc_peername[RPCSVC_PEER_STRLEN] = {0,};
|
||||
char subkey[50] = {0,};
|
||||
char key[GF_DUMP_MAX_BUF_LEN] = {0,};
|
||||
|
||||
strncpy (key, input_key, (GF_DUMP_MAX_BUF_LEN - 1));
|
||||
|
||||
/* Dump the rpc connection statistics */
|
||||
rpc = peerinfo->rpc;
|
||||
if (rpc) {
|
||||
conn = &rpc->conn;
|
||||
snprintf (subkey, sizeof (subkey), "%s%d", key, index);
|
||||
ret = rpcsvc_transport_peername (conn->trans,
|
||||
(char *)&rpcsvc_peername,
|
||||
sizeof (rpcsvc_peername));
|
||||
if (!ret) {
|
||||
gf_proc_dump_build_key (key, subkey, "rpc.peername");
|
||||
gf_proc_dump_write (key, "%s", rpcsvc_peername);
|
||||
}
|
||||
gf_proc_dump_build_key (key, subkey, "rpc.connected");
|
||||
gf_proc_dump_write (key, "%d", conn->connected);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "rpc.total-bytes-read");
|
||||
gf_proc_dump_write (key, "%"PRIu64,
|
||||
conn->trans->total_bytes_read);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "rpc.total-bytes-written");
|
||||
gf_proc_dump_write (key, "%"PRIu64,
|
||||
conn->trans->total_bytes_write);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "rpc.ping_msgs_sent");
|
||||
gf_proc_dump_write (key, "%"PRIu64, conn->pingcnt);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "rpc.msgs_sent");
|
||||
gf_proc_dump_write (key, "%"PRIu64, conn->msgcnt);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void
|
||||
glusterd_dump_client_details (glusterd_conf_t *conf)
|
||||
{
|
||||
rpc_transport_t *xprt = NULL;
|
||||
char key[GF_DUMP_MAX_BUF_LEN] = {0,};
|
||||
char subkey[50] = {0,};
|
||||
int index = 1;
|
||||
|
||||
pthread_mutex_lock (&conf->xprt_lock);
|
||||
{
|
||||
list_for_each_entry (xprt, &conf->xprt_list, list) {
|
||||
snprintf (subkey, sizeof (subkey), "glusterd.client%d",
|
||||
index);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "identifier");
|
||||
gf_proc_dump_write (key, "%s",
|
||||
xprt->peerinfo.identifier);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "volname");
|
||||
gf_proc_dump_write (key, "%s",
|
||||
xprt->peerinfo.volname);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "max-op-version");
|
||||
gf_proc_dump_write (key, "%u",
|
||||
xprt->peerinfo.max_op_version);
|
||||
|
||||
gf_proc_dump_build_key (key, subkey, "min-op-version");
|
||||
gf_proc_dump_write (key, "%u",
|
||||
xprt->peerinfo.min_op_version);
|
||||
index++;
|
||||
}
|
||||
}
|
||||
pthread_mutex_unlock (&conf->xprt_lock);
|
||||
}
|
||||
|
||||
|
||||
/* The following function is just for dumping mgmt_v3_lock dictionary, any other
|
||||
* dict passed to this API will not work */
|
||||
|
||||
static void
|
||||
glusterd_dict_mgmt_v3_lock_statedump (dict_t *dict)
|
||||
{
|
||||
int ret = 0;
|
||||
int dumplen = 0;
|
||||
data_pair_t *trav = NULL;
|
||||
char key[GF_DUMP_MAX_BUF_LEN] = {0,};
|
||||
char dump[64*1024] = {0,};
|
||||
|
||||
if (!dict) {
|
||||
gf_log_callingfn ("glusterd", GF_LOG_WARNING, "dict NULL");
|
||||
goto out;
|
||||
}
|
||||
for (trav = dict->members_list; trav; trav = trav->next) {
|
||||
if (strstr (trav->key, "debug.last-success-bt") != NULL) {
|
||||
ret = snprintf (&dump[dumplen], sizeof(dump) - dumplen,
|
||||
"\n\t%s:%s", trav->key,
|
||||
trav->value->data);
|
||||
} else {
|
||||
ret = snprintf (&dump[dumplen], sizeof(dump) - dumplen,
|
||||
"\n\t%s:%s", trav->key,
|
||||
uuid_utoa (((glusterd_mgmt_v3_lock_obj *)
|
||||
(trav->value->data))->lock_owner));
|
||||
}
|
||||
if ((ret == -1) || !ret)
|
||||
return;
|
||||
dumplen += ret;
|
||||
}
|
||||
|
||||
if (dumplen) {
|
||||
gf_proc_dump_build_key (key, "glusterd", "mgmt_v3_lock");
|
||||
gf_proc_dump_write (key, "%s", dump);
|
||||
}
|
||||
|
||||
out:
|
||||
return;
|
||||
}
|
||||
|
||||
int
|
||||
glusterd_dump_priv (xlator_t *this)
|
||||
{
|
||||
int index = 1;
|
||||
glusterd_conf_t *priv = NULL;
|
||||
char key[GF_DUMP_MAX_BUF_LEN] = {0,};
|
||||
char subkey[50] = {0,};
|
||||
glusterd_peerinfo_t *peerinfo = NULL;
|
||||
glusterd_volinfo_t *volinfo = NULL;
|
||||
|
||||
GF_VALIDATE_OR_GOTO ("glusterd", this, out);
|
||||
|
||||
priv = this->private;
|
||||
if (!priv)
|
||||
return 0;
|
||||
|
||||
gf_proc_dump_build_key (key, "xlator.glusterd", "priv");
|
||||
gf_proc_dump_add_section (key);
|
||||
|
||||
pthread_mutex_lock (&priv->mutex);
|
||||
{
|
||||
gf_proc_dump_build_key (key, "glusterd", "my-uuid");
|
||||
gf_proc_dump_write (key, "%s", uuid_utoa (priv->uuid));
|
||||
|
||||
gf_proc_dump_build_key (key, "glusterd", "working-directory");
|
||||
gf_proc_dump_write (key, "%s", priv->workdir);
|
||||
|
||||
gf_proc_dump_build_key (key, "glusterd", "max-op-version");
|
||||
gf_proc_dump_write (key, "%d", GD_OP_VERSION_MAX);
|
||||
|
||||
gf_proc_dump_build_key (key, "glusterd", "min-op-version");
|
||||
gf_proc_dump_write (key, "%d", GD_OP_VERSION_MIN);
|
||||
|
||||
gf_proc_dump_build_key (key, "glusterd", "current-op-version");
|
||||
gf_proc_dump_write (key, "%d", priv->op_version);
|
||||
|
||||
gf_proc_dump_build_key (key, "glusterd", "ping-timeout");
|
||||
gf_proc_dump_write (key, "%d", priv->ping_timeout);
|
||||
|
||||
gf_proc_dump_build_key (key, "glusterd", "shd.online");
|
||||
gf_proc_dump_write (key, "%d", priv->shd->online);
|
||||
|
||||
gf_proc_dump_build_key (key, "glusterd", "nfs.online");
|
||||
gf_proc_dump_write (key, "%d", priv->nfs->online);
|
||||
|
||||
gf_proc_dump_build_key (key, "glusterd", "quotad.online");
|
||||
gf_proc_dump_write (key, "%d", priv->quotad->online);
|
||||
|
||||
GLUSTERD_DUMP_PEERS (&priv->peers, uuid_list, _gf_false);
|
||||
GLUSTERD_DUMP_PEERS (&priv->xaction_peers, op_peers_list,
|
||||
_gf_true);
|
||||
glusterd_dump_client_details (priv);
|
||||
glusterd_dict_mgmt_v3_lock_statedump(priv->mgmt_v3_lock);
|
||||
dict_dump_to_statedump (priv->opts, "options", "glusterd");
|
||||
}
|
||||
pthread_mutex_unlock (&priv->mutex);
|
||||
|
||||
out:
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t
|
||||
mem_acct_init (xlator_t *this)
|
||||
|
@ -1076,13 +1076,4 @@ glusterd_add_brick_status_to_dict (dict_t *dict, glusterd_volinfo_t *volinfo,
|
||||
|
||||
int32_t
|
||||
glusterd_handle_snap_limit (dict_t *dict, dict_t *rsp_dict);
|
||||
|
||||
void
|
||||
glusterd_dump_peer (glusterd_peerinfo_t *peerinfo, char *key, int index,
|
||||
gf_boolean_t xpeers);
|
||||
|
||||
void
|
||||
glusterd_dump_peer_rpcstat (glusterd_peerinfo_t *peerinfo, char *key,
|
||||
int index);
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user