X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=diskutil.c;h=c5c5ea6ca91b05ab38fcdb69bbf0f3b9b4dc52cd;hp=d97c5ca15e183c364d58bbac94a880396d67bb8a;hb=65641c1ef3a7e31c606e53f1fd61e65e998ab098;hpb=a3b4cf7dcae447729f0f4a4ea122f605b909ed70 diff --git a/diskutil.c b/diskutil.c index d97c5ca1..c5c5ea6c 100644 --- a/diskutil.c +++ b/diskutil.c @@ -6,6 +6,7 @@ #include #include #include +#include #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);