Constify 'td' in a few functions
[fio.git] / diskutil.c
index d97c5ca15e183c364d58bbac94a880396d67bb8a..c5c5ea6ca91b05ab38fcdb69bbf0f3b9b4dc52cd 100644 (file)
@@ -6,6 +6,7 @@
 #include <dirent.h>
 #include <libgen.h>
 #include <math.h>
+#include <assert.h>
 
 #include "fio.h"
 #include "smalloc.h"
@@ -29,7 +30,7 @@ static void disk_util_free(struct disk_util *du)
        while (!flist_empty(&du->slaves)) {
                struct disk_util *slave;
 
-               slave = flist_entry(du->slaves.next, struct disk_util, slavelist);
+               slave = flist_first_entry(&du->slaves, struct disk_util, slavelist);
                flist_del(&slave->slavelist);
                slave->users--;
        }
@@ -299,7 +300,7 @@ static struct disk_util *disk_util_add(struct thread_data *td, int majdev,
                sfree(du);
                return NULL;
        }
-       strncpy((char *) du->dus.name, basename(path) - 1, FIO_DU_NAME_SZ);
+       strncpy((char *) du->dus.name, basename(path), FIO_DU_NAME_SZ - 1);
        du->sysfs_root = path;
        du->major = majdev;
        du->minor = mindev;
@@ -561,7 +562,7 @@ void disk_util_prune_entries(void)
        while (!flist_empty(&disk_list)) {
                struct disk_util *du;
 
-               du = flist_entry(disk_list.next, struct disk_util, list);
+               du = flist_first_entry(&disk_list, struct disk_util, list);
                flist_del(&du->list);
                disk_util_free(du);
        }
@@ -686,12 +687,15 @@ void show_disk_util(int terse, struct json_object *parent)
                return;
        }
 
-       if (!terse && !parent)
+       if (output_format == FIO_OUTPUT_JSON)
+               assert(parent);
+
+       if (!terse && output_format != FIO_OUTPUT_JSON)
                log_info("\nDisk stats (read/write):\n");
 
-       if (output_format == FIO_OUTPUT_JSON) {
+       if (output_format == FIO_OUTPUT_JSON)
                json_object_add_disk_utils(parent, &disk_list);
-       else
+       else
                flist_for_each(entry, &disk_list) {
                        du = flist_entry(entry, struct disk_util, list);