X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fdisk.c;h=85b2329945e929baf6dc733a8510d557382a63a3;hb=8361c1e963f9184c3c4d87197fd6996d667cdb3f;hp=8f8f370240ba2f99c48dcfdf2d0efe4b77d05521;hpb=928e57746b4f67981318b7a4161a3ddd54d2b1a3;p=collectd.git diff --git a/src/disk.c b/src/disk.c index 8f8f3702..85b23299 100644 --- a/src/disk.c +++ b/src/disk.c @@ -389,7 +389,7 @@ static signed long long dict_get_value (CFDictionaryRef dict, const char *key) DEBUG ("CFStringCreateWithCString (%s) failed.", key); return (-1LL); } - + /* get => we don't need to release (== free) the object */ val_obj = (CFNumberRef) CFDictionaryGetValue (dict, key_obj); @@ -637,7 +637,7 @@ static int disk_read (void) #elif KERNEL_LINUX FILE *fh; char buffer[1024]; - + char *fields[32]; int numfields; int fieldshift = 0; @@ -681,7 +681,6 @@ static int disk_read (void) { char *disk_name; char *output_name; - char *alt_name; numfields = strsplit (buffer, fields, 32); @@ -841,13 +840,10 @@ static int disk_read (void) output_name = disk_name; #if HAVE_LIBUDEV - alt_name = disk_udev_attr_name (handle_udev, disk_name, - conf_udev_name_attr); -#else - alt_name = NULL; -#endif + char *alt_name = disk_udev_attr_name (handle_udev, disk_name, conf_udev_name_attr); if (alt_name != NULL) output_name = alt_name; +#endif if ((ds->read_bytes != 0) || (ds->write_bytes != 0)) disk_submit (output_name, "disk_octets", @@ -869,8 +865,10 @@ static int disk_read (void) submit_io_time (output_name, io_time, weighted_time); } /* if (is_disk) */ +#if HAVE_LIBUDEV /* release udev-based alternate name, if allocated */ - free(alt_name); + sfree (alt_name); +#endif } /* while (fgets (buffer, sizeof (buffer), fh) != NULL) */ #if HAVE_LIBUDEV @@ -938,10 +936,10 @@ static int disk_read (void) #endif int counter; char name[DATA_MAX_NAME_LEN]; - + if ((ds = sg_get_disk_io_stats(&disks)) == NULL) return (0); - + for (counter=0; counter < disks; counter++) { strncpy(name, ds->disk_name, sizeof(name)); name[sizeof(name)-1] = '\0'; /* strncpy doesn't terminate longer strings */ @@ -961,7 +959,7 @@ static int disk_read (void) int rnumdisk; int i; - if ((numdisk = perfstat_disk(NULL, NULL, sizeof(perfstat_disk_t), 0)) < 0) + if ((numdisk = perfstat_disk(NULL, NULL, sizeof(perfstat_disk_t), 0)) < 0) { char errbuf[1024]; WARNING ("disk plugin: perfstat_disk: %s", @@ -970,14 +968,14 @@ static int disk_read (void) } if (numdisk != pnumdisk || stat_disk==NULL) { - if (stat_disk!=NULL) + if (stat_disk!=NULL) free(stat_disk); stat_disk = (perfstat_disk_t *)calloc(numdisk, sizeof(perfstat_disk_t)); - } + } pnumdisk = numdisk; firstpath.name[0]='\0'; - if ((rnumdisk = perfstat_disk(&firstpath, stat_disk, sizeof(perfstat_disk_t), numdisk)) < 0) + if ((rnumdisk = perfstat_disk(&firstpath, stat_disk, sizeof(perfstat_disk_t), numdisk)) < 0) { char errbuf[1024]; WARNING ("disk plugin: perfstat_disk : %s", @@ -985,7 +983,7 @@ static int disk_read (void) return (-1); } - for (i = 0; i < rnumdisk; i++) + for (i = 0; i < rnumdisk; i++) { read_sectors = stat_disk[i].rblks*stat_disk[i].bsize; write_sectors = stat_disk[i].wblks*stat_disk[i].bsize;