add ifdef __sun__ for Solaris specific code
authorTomohiro Kusumi <tkusumi@tuxera.com>
Tue, 29 Aug 2017 21:12:13 +0000 (00:12 +0300)
committerJens Axboe <axboe@kernel.dk>
Tue, 29 Aug 2017 21:14:52 +0000 (15:14 -0600)
ENOTTY on direct I/O setup failure via directio(3C) is Solaris (ZFS)
specific (as also mentioned in ZoL commit[1]).

Linux and many others which support O_DIRECT never come here, but
others supporting direct I/O via OS specific way don't necessarily
have the same ENOTTY behavior or ZFS itself.

This commit brings back the original log before 42f1ee68 for others.

[1] https://github.com/zfsonlinux/zfs/commit/a08c76a8ad63c28384ead72b53a3d7ef73f39357

Signed-off-by: Tomohiro Kusumi <tkusumi@tuxera.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
ioengines.c

index 6e6e3de..6e135af 100644 (file)
@@ -505,12 +505,15 @@ int td_io_open_file(struct thread_data *td, struct fio_file *f)
 
                if (ret) {
                        td_verror(td, ret, "fio_set_odirect");
+#if defined(__sun__)
                        if (ret == ENOTTY) { /* ENOTTY suggests RAW device or ZFS */
                                log_err("fio: doing directIO to RAW devices or ZFS not supported\n");
                        } else {
                                log_err("fio: the file system does not seem to support direct IO\n");
                        }
-
+#else
+                       log_err("fio: the file system does not seem to support direct IO\n");
+#endif
                        goto err;
                }
        }