X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=diskutil.c;h=bbaa22d56b2a7cab19960c94349e02e385e5af0c;hp=a87435afc7481ad2eb8652b8a268e2ab53ae7df7;hb=67a1000f49db76ddb18ce9420ba03059af0214b9;hpb=e11c410cbd60400c10d92d0115880c6e5728aa4e;ds=sidebyside diff --git a/diskutil.c b/diskutil.c index a87435af..bbaa22d5 100644 --- a/diskutil.c +++ b/diskutil.c @@ -209,15 +209,18 @@ static void __init_disk_util(struct thread_data *td, struct fio_file *f) int mindev, majdev; char *p; - if (!stat(f->file_name, &st)) { + if (!lstat(f->file_name, &st)) { if (S_ISBLK(st.st_mode)) { majdev = major(st.st_rdev); mindev = minor(st.st_rdev); } else if (S_ISCHR(st.st_mode)) { majdev = major(st.st_rdev); mindev = minor(st.st_rdev); - fio_lookup_raw(st.st_rdev, &majdev, &mindev); - } else { + if (fio_lookup_raw(st.st_rdev, &majdev, &mindev)) + return; + } else if (S_ISFIFO(st.st_mode)) + return; + else { majdev = major(st.st_dev); mindev = minor(st.st_dev); } @@ -310,6 +313,9 @@ void show_disk_util(void) struct disk_util *du; double util; + if (list_empty(&disk_list)) + return; + log_info("\nDisk stats (read/write):\n"); list_for_each(entry, &disk_list) {