Make fill_device detect bdev sizes too
authorJens Axboe <jaxboe@fusionio.com>
Thu, 24 Jun 2010 07:22:41 +0000 (09:22 +0200)
committerJens Axboe <jaxboe@fusionio.com>
Thu, 24 Jun 2010 07:22:41 +0000 (09:22 +0200)
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
filesetup.c

index 9cc487269fcc3434e8677d9ac74905a4bd698ca1..8aa9fc7461397513fca56b1f58b280a49b210782 100644 (file)
@@ -517,7 +517,7 @@ struct fio_mount {
 static unsigned long long get_fs_free_counts(struct thread_data *td)
 {
        struct flist_head *n, *tmp;
-       unsigned long long ret;
+       unsigned long long ret = 0;
        struct fio_mount *fm;
        FLIST_HEAD(list);
        struct fio_file *f;
@@ -527,6 +527,12 @@ static unsigned long long get_fs_free_counts(struct thread_data *td)
                struct stat sb;
                char buf[256];
 
+               if (f->filetype == FIO_TYPE_BD) {
+                       ret += f->real_file_size;
+                       continue;
+               } else if (f->filetype != FIO_TYPE_FILE)
+                       continue;
+
                strcpy(buf, f->file_name);
 
                if (stat(buf, &sb) < 0) {
@@ -556,7 +562,6 @@ static unsigned long long get_fs_free_counts(struct thread_data *td)
                flist_add(&fm->list, &list);
        }
 
-       ret = 0;
        flist_for_each_safe(n, tmp, &list) {
                unsigned long long sz;