projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #3158 from smortex/riemann-meta-data
[collectd.git]
/
src
/
mcelog.c
diff --git
a/src/mcelog.c
b/src/mcelog.c
index
66699ed
..
0cce0c6
100644
(file)
--- a/
src/mcelog.c
+++ b/
src/mcelog.c
@@
-31,7
+31,7
@@
#include "collectd.h"
#include "collectd.h"
-#include "common.h"
+#include "
utils/common/
common.h"
#include "utils_llist.h"
#include <poll.h>
#include "utils_llist.h"
#include <poll.h>
@@
-52,11
+52,11
@@
#define MCELOG_UNCORRECTED_ERR_TYPE_INS "uncorrected_memory_errors"
typedef struct mcelog_config_s {
#define MCELOG_UNCORRECTED_ERR_TYPE_INS "uncorrected_memory_errors"
typedef struct mcelog_config_s {
- char logfile[PATH_MAX]; /* mcelog logfile */
- pthread_t tid; /* poll thread id */
- llist_t *dimms_list; /* DIMMs list */
+ char logfile[PATH_MAX];
/* mcelog logfile */
+ pthread_t tid;
/* poll thread id */
+ llist_t *dimms_list;
/* DIMMs list */
pthread_mutex_t dimms_lock; /* lock for dimms cache */
pthread_mutex_t dimms_lock; /* lock for dimms cache */
-
_B
ool persist;
+
b
ool persist;
} mcelog_config_t;
typedef struct socket_adapter_s socket_adapter_t;
} mcelog_config_t;
typedef struct socket_adapter_s socket_adapter_t;
@@
-75,12
+75,12
@@
struct socket_adapter_s {
typedef struct mcelog_memory_rec_s {
int corrected_err_total; /* x total*/
int corrected_err_timed; /* x in 24h*/
typedef struct mcelog_memory_rec_s {
int corrected_err_total; /* x total*/
int corrected_err_timed; /* x in 24h*/
- char corrected_err_timed_period[DATA_MAX_NAME_LEN];
+ char corrected_err_timed_period[DATA_MAX_NAME_LEN
/ 2
];
int uncorrected_err_total; /* x total*/
int uncorrected_err_timed; /* x in 24h*/
int uncorrected_err_total; /* x total*/
int uncorrected_err_timed; /* x in 24h*/
- char uncorrected_err_timed_period[DATA_MAX_NAME_LEN];
- char location[DATA_MAX_NAME_LEN]; /* SOCKET x CHANNEL x DIMM x*/
- char dimm_name[DATA_MAX_NAME_LEN]; /* DMI_NAME "DIMM_F1" */
+ char uncorrected_err_timed_period[DATA_MAX_NAME_LEN
/ 2
];
+ char location[DATA_MAX_NAME_LEN
/ 2
]; /* SOCKET x CHANNEL x DIMM x*/
+ char dimm_name[DATA_MAX_NAME_LEN
/ 2
]; /* DMI_NAME "DIMM_F1" */
} mcelog_memory_rec_t;
static int socket_close(socket_adapter_t *self);
} mcelog_memory_rec_t;
static int socket_close(socket_adapter_t *self);
@@
-90,7
+90,7
@@
static int socket_reinit(socket_adapter_t *self);
static int socket_receive(socket_adapter_t *self, FILE **p_file);
static mcelog_config_t g_mcelog_config = {
static int socket_receive(socket_adapter_t *self, FILE **p_file);
static mcelog_config_t g_mcelog_config = {
- .logfile = "/var/log/mcelog", .persist =
0
,
+ .logfile = "/var/log/mcelog", .persist =
false
,
};
static socket_adapter_t socket_adapter = {
};
static socket_adapter_t socket_adapter = {
@@
-106,8
+106,8
@@
static socket_adapter_t socket_adapter = {
.receive = socket_receive,
};
.receive = socket_receive,
};
-static
_B
ool mcelog_thread_running;
-static
_B
ool mcelog_apply_defaults;
+static
b
ool mcelog_thread_running;
+static
b
ool mcelog_apply_defaults;
static void mcelog_free_dimms_list_records(llist_t *dimms_list) {
static void mcelog_free_dimms_list_records(llist_t *dimms_list) {
@@
-124,8
+124,8
@@
static llentry_t *mcelog_dimm(const mcelog_memory_rec_t *rec,
char dimm_name[DATA_MAX_NAME_LEN];
if (strlen(rec->dimm_name) > 0) {
char dimm_name[DATA_MAX_NAME_LEN];
if (strlen(rec->dimm_name) > 0) {
- s
s
nprintf(dimm_name, sizeof(dimm_name), "%s_%s", rec->location,
-
rec->dimm_name);
+ snprintf(dimm_name, sizeof(dimm_name), "%s_%s", rec->location,
+ rec->dimm_name);
} else
sstrncpy(dimm_name, rec->location, sizeof(dimm_name));
} else
sstrncpy(dimm_name, rec->location, sizeof(dimm_name));
@@
-237,15
+237,12
@@
static int socket_close(socket_adapter_t *self) {
int ret = 0;
pthread_rwlock_rdlock(&self->lock);
if (fcntl(self->sock_fd, F_GETFL) != -1) {
int ret = 0;
pthread_rwlock_rdlock(&self->lock);
if (fcntl(self->sock_fd, F_GETFL) != -1) {
- char errbuf[MCELOG_BUFF_SIZE];
if (shutdown(self->sock_fd, SHUT_RDWR) != 0) {
if (shutdown(self->sock_fd, SHUT_RDWR) != 0) {
- ERROR(MCELOG_PLUGIN ": Socket shutdown failed: %s",
- sstrerror(errno, errbuf, sizeof(errbuf)));
+ ERROR(MCELOG_PLUGIN ": Socket shutdown failed: %s", STRERRNO);
ret = -1;
}
if (close(self->sock_fd) != 0) {
ret = -1;
}
if (close(self->sock_fd) != 0) {
- ERROR(MCELOG_PLUGIN ": Socket close failed: %s",
- sstrerror(errno, errbuf, sizeof(errbuf)));
+ ERROR(MCELOG_PLUGIN ": Socket close failed: %s", STRERRNO);
ret = -1;
}
}
ret = -1;
}
}
@@
-257,7
+254,7
@@
static int socket_write(socket_adapter_t *self, const char *msg,
const size_t len) {
int ret = 0;
pthread_rwlock_rdlock(&self->lock);
const size_t len) {
int ret = 0;
pthread_rwlock_rdlock(&self->lock);
- if (swrite(self->sock_fd, msg, len)
<
0)
+ if (swrite(self->sock_fd, msg, len)
!=
0)
ret = -1;
pthread_rwlock_unlock(&self->lock);
return ret;
ret = -1;
pthread_rwlock_unlock(&self->lock);
return ret;
@@
-277,7
+274,6
@@
static void mcelog_dispatch_notification(notification_t *n) {
}
static int socket_reinit(socket_adapter_t *self) {
}
static int socket_reinit(socket_adapter_t *self) {
- char errbuff[MCELOG_BUFF_SIZE];
int ret = -1;
cdtime_t interval = plugin_get_interval();
struct timeval socket_timeout = CDTIME_T_TO_TIMEVAL(interval);
int ret = -1;
cdtime_t interval = plugin_get_interval();
struct timeval socket_timeout = CDTIME_T_TO_TIMEVAL(interval);
@@
-287,8
+283,7
@@
static int socket_reinit(socket_adapter_t *self) {
self->sock_fd =
socket(PF_UNIX, SOCK_STREAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0);
if (self->sock_fd < 0) {
self->sock_fd =
socket(PF_UNIX, SOCK_STREAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0);
if (self->sock_fd < 0) {
- ERROR(MCELOG_PLUGIN ": Could not create a socket. %s",
- sstrerror(errno, errbuff, sizeof(errbuff)));
+ ERROR(MCELOG_PLUGIN ": Could not create a socket. %s", STRERRNO);
pthread_rwlock_unlock(&self->lock);
return ret;
}
pthread_rwlock_unlock(&self->lock);
return ret;
}
@@
-304,8
+299,7
@@
static int socket_reinit(socket_adapter_t *self) {
pthread_rwlock_rdlock(&self->lock);
if (connect(self->sock_fd, (struct sockaddr *)&(self->unix_sock),
sizeof(self->unix_sock)) < 0) {
pthread_rwlock_rdlock(&self->lock);
if (connect(self->sock_fd, (struct sockaddr *)&(self->unix_sock),
sizeof(self->unix_sock)) < 0) {
- ERROR(MCELOG_PLUGIN ": Failed to connect to mcelog server. %s",
- sstrerror(errno, errbuff, sizeof(errbuff)));
+ ERROR(MCELOG_PLUGIN ": Failed to connect to mcelog server. %s", STRERRNO);
self->close(self);
ret = -1;
} else {
self->close(self);
ret = -1;
} else {
@@
-361,8
+355,8
@@
static int mcelog_dispatch_mem_notifications(const mcelog_memory_rec_t *mr) {
sstrncpy(n.host, hostname_g, sizeof(n.host));
if (mr->dimm_name[0] != '\0')
sstrncpy(n.host, hostname_g, sizeof(n.host));
if (mr->dimm_name[0] != '\0')
- s
s
nprintf(n.plugin_instance, sizeof(n.plugin_instance), "%s_%s",
-
mr->location, mr->dimm_name);
+ snprintf(n.plugin_instance, sizeof(n.plugin_instance), "%s_%s",
+ mr->location, mr->dimm_name);
else
sstrncpy(n.plugin_instance, mr->location, sizeof(n.plugin_instance));
else
sstrncpy(n.plugin_instance, mr->location, sizeof(n.plugin_instance));
@@
-373,7
+367,7
@@
static int mcelog_dispatch_mem_notifications(const mcelog_memory_rec_t *mr) {
mr->corrected_err_total);
plugin_notification_meta_add_signed_int(&n, MCELOG_CORRECTED_ERR_TIMED,
mr->corrected_err_timed);
mr->corrected_err_total);
plugin_notification_meta_add_signed_int(&n, MCELOG_CORRECTED_ERR_TIMED,
mr->corrected_err_timed);
- s
s
nprintf(n.message, sizeof(n.message), MCELOG_CORRECTED_ERR);
+ snprintf(n.message, sizeof(n.message), MCELOG_CORRECTED_ERR);
sstrncpy(n.type_instance, MCELOG_CORRECTED_ERR_TYPE_INS,
sizeof(n.type_instance));
plugin_dispatch_notification(&n);
sstrncpy(n.type_instance, MCELOG_CORRECTED_ERR_TYPE_INS,
sizeof(n.type_instance));
plugin_dispatch_notification(&n);
@@
-389,7
+383,7
@@
static int mcelog_dispatch_mem_notifications(const mcelog_memory_rec_t *mr) {
mr->uncorrected_err_total);
plugin_notification_meta_add_signed_int(&n, MCELOG_UNCORRECTED_ERR_TIMED,
mr->uncorrected_err_timed);
mr->uncorrected_err_total);
plugin_notification_meta_add_signed_int(&n, MCELOG_UNCORRECTED_ERR_TIMED,
mr->uncorrected_err_timed);
- s
s
nprintf(n.message, sizeof(n.message), MCELOG_UNCORRECTED_ERR);
+ snprintf(n.message, sizeof(n.message), MCELOG_UNCORRECTED_ERR);
sstrncpy(n.type_instance, MCELOG_UNCORRECTED_ERR_TYPE_INS,
sizeof(n.type_instance));
n.severity = NOTIF_FAILURE;
sstrncpy(n.type_instance, MCELOG_UNCORRECTED_ERR_TYPE_INS,
sizeof(n.type_instance));
n.severity = NOTIF_FAILURE;
@@
-534,9
+528,7
@@
static int socket_receive(socket_adapter_t *self, FILE **pp_file) {
if ((res = poll(&poll_fd, 1, MCELOG_POLL_TIMEOUT)) <= 0) {
if (res != 0 && errno != EINTR) {
if ((res = poll(&poll_fd, 1, MCELOG_POLL_TIMEOUT)) <= 0) {
if (res != 0 && errno != EINTR) {
- char errbuf[MCELOG_BUFF_SIZE];
- ERROR("mcelog: poll failed: %s",
- sstrerror(errno, errbuf, sizeof(errbuf)));
+ ERROR("mcelog: poll failed: %s", STRERRNO);
}
pthread_rwlock_unlock(&self->lock);
return res;
}
pthread_rwlock_unlock(&self->lock);
return res;
@@
-571,12
+563,10
@@
static int socket_receive(socket_adapter_t *self, FILE **pp_file) {
}
static void *poll_worker(__attribute__((unused)) void *arg) {
}
static void *poll_worker(__attribute__((unused)) void *arg) {
- char errbuf[MCELOG_BUFF_SIZE];
mcelog_thread_running = 1;
FILE **pp_file = calloc(1, sizeof(*pp_file));
if (pp_file == NULL) {
mcelog_thread_running = 1;
FILE **pp_file = calloc(1, sizeof(*pp_file));
if (pp_file == NULL) {
- ERROR("mcelog: memory allocation failed: %s",
- sstrerror(errno, errbuf, sizeof(errbuf)));
+ ERROR("mcelog: memory allocation failed: %s", STRERRNO);
pthread_exit((void *)1);
}
pthread_exit((void *)1);
}