verify: fix problem with hole punching on newer Linux kernels
[fio.git] / filesetup.c
index 6427f3e4e2317901159f7061ce9a74538d288aaa..7d3a0613b8296eb5a5f2d08c268a261fd8b1561c 100644 (file)
@@ -388,7 +388,8 @@ static int __file_invalidate_cache(struct thread_data *td, struct fio_file *f,
        if (f->mmap_ptr) {
                ret = posix_madvise(f->mmap_ptr, f->mmap_sz, POSIX_MADV_DONTNEED);
 #ifdef FIO_MADV_FREE
-               (void) posix_madvise(f->mmap_ptr, f->mmap_sz, FIO_MADV_FREE);
+               if (f->filetype == FIO_TYPE_BD)
+                       (void) posix_madvise(f->mmap_ptr, f->mmap_sz, FIO_MADV_FREE);
 #endif
        } else if (f->filetype == FIO_TYPE_FILE) {
                ret = posix_fadvise(f->fd, off, len, POSIX_FADV_DONTNEED);