The following changes since commit 9451b93e81fb950a80da09e295e56b1ad4538509:
dedupe: improve 100% dedupe case (2015-04-27 09:37:11 -0600)
are available in the git repository at:
git://git.kernel.dk/fio.git master
for you to fetch changes up to 76a00ec6684317902e536365b89531431e7f8867:
blktrace: only set O_DIRECT if the min bs is a multiple of 4k (2015-04-28
15:30:02 -0600)
----------------------------------------------------------------
Jens Axboe (2):
Add recommendation to set direct=0 if first O_DIRECT fails
blktrace: only set O_DIRECT if the min bs is a multiple of 4k
blktrace.c | 5 +++--
ioengines.c | 3 ++-
2 files changed, 5 insertions(+), 3 deletions(-)
---
Diff of recent changes:
diff --git a/blktrace.c b/blktrace.c
index 8ffa9b0..bb0bcbe 100644
--- a/blktrace.c
+++ b/blktrace.c
@@ -503,9 +503,10 @@ int load_blktrace(struct thread_data *td, const char
*filename, int need_swap)
/*
* We need to do direct/raw ios to the device, to avoid getting
- * read-ahead in our way.
+ * read-ahead in our way. But only do so if the minimum block size
+ * is a multiple of 4k, otherwise we don't know if it's safe to do so.
*/
- if (!fio_option_is_set(&td->o, odirect))
+ if (!fio_option_is_set(&td->o, odirect) && !(td_min_bs(td) & 4095))
td->o.odirect = 1;
/*
diff --git a/ioengines.c b/ioengines.c
index b724e0e..958731d 100644
--- a/ioengines.c
+++ b/ioengines.c
@@ -327,7 +327,8 @@ int td_io_queue(struct thread_data *td, struct io_u *io_u)
td->o.odirect) {
log_info("fio: first direct IO errored. File system may not "
- "support direct IO, or iomem_align= is bad.\n");
+ "support direct IO, or iomem_align= is bad. Try "
+ "setting direct=0.\n");
}
if (!td->io_ops->commit || io_u->ddir == DDIR_TRIM) {
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html