summaryrefslogtreecommitdiff
path: root/diskutil.c
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2007-04-17 09:06:43 +0200
committerJens Axboe <jens.axboe@oracle.com>2007-04-17 09:06:43 +0200
commit8cc7afa91ddc5a0980b9d2dbfdd66e1511a0d4b1 (patch)
tree389ad700f173f402c10c1f5552ef8cd1e2fa3256 /diskutil.c
parentd424d4dd657eaf4aeb8ffb07a550a5f64940f41a (diff)
downloadfio-8cc7afa91ddc5a0980b9d2dbfdd66e1511a0d4b1.tar.gz
Better checks for disk util init
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'diskutil.c')
-rw-r--r--diskutil.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/diskutil.c b/diskutil.c
index a87435af..11d676fc 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);
}