du = list_entry(entry, struct disk_util, list);
if (major == du->major && minor == du->minor)
du = list_entry(entry, struct disk_util, list);
if (major == du->major && minor == du->minor)
INIT_LIST_HEAD(&du->list);
sprintf(du->path, "%s/stat", path);
du->name = strdup(basename(path));
INIT_LIST_HEAD(&du->list);
sprintf(du->path, "%s/stat", path);
du->name = strdup(basename(path));
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);
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 {
- if (disk_util_exists(majdev, mindev))
+ du = disk_util_exists(majdev, mindev);
+ if (du) {
+ if (td->o.ioscheduler && !td->sysfs_root)
+ td->sysfs_root = strdup(du->sysfs_root);
+
log_info("\nDisk stats (read/write):\n");
list_for_each(entry, &disk_list) {
log_info("\nDisk stats (read/write):\n");
list_for_each(entry, &disk_list) {