Code

Merge remote-tracking branch 'github/pr/387'
[collectd.git] / src / utils_mount.c
index 7748c610bc871faf99a2f75a30f6db99e6c6fbbb..cae3706794737fe438c79132cea13121c22b7ad9 100644 (file)
@@ -21,7 +21,9 @@
  *   Niki W. Waibel <niki.waibel@gmx.net>
 **/
 
-
+#if HAVE_CONFIG_H
+# include "config.h"
+#endif
 
 #include "common.h"
 #if HAVE_XFS_XQM_H
@@ -30,7 +32,7 @@
 #define XFS_SUPER_MAGIC2_STR "BSFX"
 #endif
 
-#include "utils_debug.h"
+#include "plugin.h"
 #include "utils_mount.h"
 
 #if HAVE_GETVFSSTAT
@@ -258,7 +260,7 @@ uuidcache_init(void)
                        * (This is useful, if the cdrom on /dev/hdc must not
                        * be accessed.)
                        */
-                               snprintf(device, sizeof(device), "%s/%s",
+                               ssnprintf(device, sizeof(device), "%s/%s",
                                        DEVLABELDIR, ptname);
                                if(!get_label_uuid(device, &label, uuid)) {
                                        uuidcache_addentry(sstrdup(device),
@@ -332,7 +334,7 @@ get_spec_by_uuid(const char *s)
        return get_spec_by_x(UUID, uuid);
 
        bad_uuid:
-               DBG("Found an invalid UUID: %s", s);
+               DEBUG("utils_mount: Found an invalid UUID: %s", s);
        return NULL;
 }
 
@@ -351,12 +353,12 @@ static char *get_device_name(const char *optstr)
        }
        else if (strncmp (optstr, "UUID=", 5) == 0)
        {
-               DBG ("TODO: check UUID= code!");
+               DEBUG ("utils_mount: TODO: check UUID= code!");
                rc = get_spec_by_uuid (optstr + 5);
        }
        else if (strncmp (optstr, "LABEL=", 6) == 0)
        {
-               DBG ("TODO: check LABEL= code!");
+               DEBUG ("utils_mount: TODO: check LABEL= code!");
                rc = get_spec_by_volume_label (optstr + 6);
        }
        else
@@ -366,7 +368,7 @@ static char *get_device_name(const char *optstr)
 
        if(!rc)
        {
-               DBG ("Error checking device name: optstr = %s", optstr);
+               DEBUG ("utils_mount: Error checking device name: optstr = %s", optstr);
        }
        return rc;
 }
@@ -381,7 +383,11 @@ static cu_mount_t *cu_mount_listmntent (void)
 
        struct tabmntent *mntlist;
        if(listmntent(&mntlist, COLLECTD_MNTTAB, NULL, NULL) < 0) {
-               DBG("calling listmntent() failed: %s", strerror(errno));
+#if COLLECT_DEBUG
+               char errbuf[1024];
+               DEBUG("utils_mount: calling listmntent() failed: %s",
+                               sstrerror (errno, errbuf, sizeof (errbuf)));
+#endif /* COLLECT_DEBUG */
        }
 
        for(p = mntlist; p; p = p->next) {
@@ -392,7 +398,7 @@ static cu_mount_t *cu_mount_listmntent (void)
                if(loop == NULL) {   /* no loop= mount */
                        device = get_device_name(mnt->mnt_fsname);
                        if(device == NULL) {
-                               DBG("can't get devicename for fs (%s) %s (%s)"
+                               DEBUG("utils_mount: can't get devicename for fs (%s) %s (%s)"
                                        ": ignored", mnt->mnt_type,
                                        mnt->mnt_dir, mnt->mnt_fsname);
                                continue;
@@ -450,7 +456,11 @@ static cu_mount_t *cu_mount_getfsstat (void)
        /* Get the number of mounted file systems */
        if ((bufsize = CMD_STATFS (NULL, 0, FLAGS_STATFS)) < 1)
        {
-               DBG ("getv?fsstat failed: %s", strerror (errno));
+#if COLLECT_DEBUG
+               char errbuf[1024];
+               DEBUG ("utils_mount: getv?fsstat failed: %s",
+                               sstrerror (errno, errbuf, sizeof (errbuf)));
+#endif /* COLLECT_DEBUG */
                return (NULL);
        }
 
@@ -463,7 +473,11 @@ static cu_mount_t *cu_mount_getfsstat (void)
         * manpage.. -octo */
        if ((num = CMD_STATFS (buf, bufsize * sizeof (STRUCT_STATFS), FLAGS_STATFS)) < 1)
        {
-               DBG ("getv?fsstat failed: %s", strerror (errno));
+#if COLLECT_DEBUG
+               char errbuf[1024];
+               DEBUG ("utils_mount: getv?fsstat failed: %s",
+                               sstrerror (errno, errbuf, sizeof (errbuf)));
+#endif /* COLLECT_DEBUG */
                free (buf);
                return (NULL);
        }
@@ -512,11 +526,13 @@ static cu_mount_t *cu_mount_gen_getmntent (void)
        cu_mount_t *last  = NULL;
        cu_mount_t *new   = NULL;
 
-       DBG ("(void); COLLECTD_MNTTAB = %s", COLLECTD_MNTTAB);
+       DEBUG ("utils_mount: (void); COLLECTD_MNTTAB = %s", COLLECTD_MNTTAB);
 
        if ((fp = fopen (COLLECTD_MNTTAB, "r")) == NULL)
        {
-               syslog (LOG_ERR, "fopen (%s): %s", COLLECTD_MNTTAB, strerror (errno));
+               char errbuf[1024];
+               ERROR ("fopen (%s): %s", COLLECTD_MNTTAB,
+                               sstrerror (errno, errbuf, sizeof (errbuf)));
                return (NULL);
        }
 
@@ -567,11 +583,13 @@ static cu_mount_t *cu_mount_getmntent (void)
        cu_mount_t *last  = NULL;
        cu_mount_t *new   = NULL;
 
-       DBG ("(void); COLLECTD_MNTTAB = %s", COLLECTD_MNTTAB);
+       DEBUG ("utils_mount: (void); COLLECTD_MNTTAB = %s", COLLECTD_MNTTAB);
 
        if ((fp = setmntent (COLLECTD_MNTTAB, "r")) == NULL)
        {
-               syslog (LOG_ERR, "setmntent (%s): %s", COLLECTD_MNTTAB, strerror (errno));
+               char errbuf[1024];
+               ERROR ("setmntent (%s): %s", COLLECTD_MNTTAB,
+                               sstrerror (errno, errbuf, sizeof (errbuf)));
                return (NULL);
        }
 
@@ -589,7 +607,7 @@ static cu_mount_t *cu_mount_getmntent (void)
                new->device      = get_device_name (new->options);
                new->next        = NULL;
 
-               DBG ("new = {dir = %s, spec_device = %s, type = %s, options = %s, device = %s}",
+               DEBUG ("utils_mount: new = {dir = %s, spec_device = %s, type = %s, options = %s, device = %s}",
                                new->dir, new->spec_device, new->type, new->options, new->device);
 
                /* Append to list */
@@ -607,7 +625,7 @@ static cu_mount_t *cu_mount_getmntent (void)
 
        endmntent (fp);
 
-       DBG ("return (0x%p)", (void *) first);
+       DEBUG ("utils_mount: return (0x%p)", (void *) first);
 
        return (first);
 }
@@ -641,11 +659,11 @@ cu_mount_t *cu_mount_getlist(cu_mount_t **list)
 #elif HAVE_TWO_GETMNTENT || HAVE_GEN_GETMNTENT || HAVE_SUN_GETMNTENT
        new = cu_mount_gen_getmntent ();
 #elif HAVE_SEQ_GETMNTENT
-# warn "This version of `getmntent' hat not yet been implemented!"
+# error "This version of `getmntent' hat not yet been implemented!"
 #elif HAVE_ONE_GETMNTENT
        new = cu_mount_getmntent ();
 #else
-       new = NULL;
+# error "Could not determine how to find mountpoints."
 #endif
 
        if (first != NULL)
@@ -670,8 +688,6 @@ void cu_mount_freelist (cu_mount_t *list)
        cu_mount_t *this;
        cu_mount_t *next;
 
-       DBG ("(list = 0x%p)", (void *) list);
-
        for (this = list; this != NULL; this = next)
        {
                next = this->next;
@@ -753,8 +769,6 @@ cu_mount_getoptionvalue(char *line, char *keyword)
        return r;
 } /* char *cu_mount_getoptionvalue(char *line, char *keyword) */
 
-
-
 int
 cu_mount_type(const char *type)
 {
@@ -766,5 +780,3 @@ cu_mount_type(const char *type)
        return CUMT_UNKNOWN;
 } /* int cu_mount_type(const char *type) */
 
-
-