make the bs info output clearer.
[fio.git] / filesetup.c
index 4d0b12790eb6f6061c33f0a2cb7a31d0ee4d27ac..c9f2b5ff9111f7afd1be58446d702bfc2e123d7a 100644 (file)
@@ -442,20 +442,22 @@ static int __file_invalidate_cache(struct thread_data *td, struct fio_file *f,
        if (len == -1ULL || off == -1ULL)
                return 0;
 
-       dprint(FD_IO, "invalidate cache %s: %llu/%llu\n", f->file_name, off,
-                                                               len);
-
        if (td->io_ops->invalidate) {
+               dprint(FD_IO, "invalidate %s cache %s\n", td->io_ops->name,
+                       f->file_name);
                ret = td->io_ops->invalidate(td, f);
                if (ret < 0)
-                       errval = ret;
+                       errval = -ret;
        } else if (f->filetype == FIO_TYPE_FILE) {
+               dprint(FD_IO, "declare unneeded cache %s: %llu/%llu\n",
+                       f->file_name, off, len);
                ret = posix_fadvise(f->fd, off, len, POSIX_FADV_DONTNEED);
                if (ret)
                        errval = ret;
        } else if (f->filetype == FIO_TYPE_BLOCK) {
                int retry_count = 0;
 
+               dprint(FD_IO, "drop page cache %s\n", f->file_name);
                ret = blockdev_invalidate_cache(f);
                while (ret < 0 && errno == EAGAIN && retry_count++ < 25) {
                        /*
@@ -477,8 +479,13 @@ static int __file_invalidate_cache(struct thread_data *td, struct fio_file *f,
                }
                if (ret < 0)
                        errval = errno;
-       } else if (f->filetype == FIO_TYPE_CHAR || f->filetype == FIO_TYPE_PIPE)
+               else if (ret) /* probably not supported */
+                       errval = ret;
+       } else if (f->filetype == FIO_TYPE_CHAR ||
+                  f->filetype == FIO_TYPE_PIPE) {
+               dprint(FD_IO, "invalidate not supported %s\n", f->file_name);
                ret = 0;
+       }
 
        /*
         * Cache flushing isn't a fatal condition, and we know it will
@@ -487,7 +494,8 @@ static int __file_invalidate_cache(struct thread_data *td, struct fio_file *f,
         * continue on our way.
         */
        if (errval)
-               log_info("fio: cache invalidation of %s failed: %s\n", f->file_name, strerror(errval));
+               log_info("fio: cache invalidation of %s failed: %s\n",
+                        f->file_name, strerror(errval));
 
        return 0;
 
@@ -934,9 +942,6 @@ int setup_files(struct thread_data *td)
                                if (f->file_offset > f->real_file_size)
                                        goto err_offset;
                                f->io_size = f->real_file_size - f->file_offset;
-                               log_info("fio: forcing file %s size to %llu\n",
-                                       f->file_name,
-                                       (unsigned long long)f->io_size);
                                if (!f->io_size)
                                        log_info("fio: file %s may be ignored\n",
                                                f->file_name);