Thread (3 messages) 3 messages, 2 authors, 2012-08-20

Re: [PATCH] xfstests: Provide test whether fs supports direct IO and use it

From: Dave Chinner <david@fromorbit.com>
Date: 2012-08-16 23:04:03

On Thu, Aug 16, 2012 at 03:56:31PM +0200, Jan Kara wrote:
ext3 in data=journal mode does not support direct IO. Tests which use
direct IO fail due to that. Provide function checking whether direct IO
is supported and skip tests needing direct IO if it's not.

There are a few tests which use direct IO but would be meaningful even
without it since they test several different things. Making these tests
useful for filesystems without dio support is left for future if somebody
is interested...
So this is just for the generic tests? There's a lot more XFS
specific tests that require direct IO that aren't in this patch. ;)

Also, I suspect that you've missed all the tests that run fsstress,
because that uses direct IO as well. There's probably others as
well. No doub they didn't produce test failures, but it's entirely
possible that they are not testing what they are supposed to be
testing as a result of direct IO failing silently...
quoted hunk ↗ jump to hunk
--- a/198
+++ b/198
@@ -44,6 +44,7 @@ _cleanup()
 
 _supported_fs generic
 _supported_os Linux
+_require_direct_io
 _require_aiodio aiodio_sparse2
For all the tests are already call _require_aiodio, just embed the
_require_dio test inside that one.
 
+#
+# Check if the filesystem supports direct IO
+#
+_require_direct_io()
+{
+	testfile=$TEST_DIR/$$.dio
+	testio=`$XFS_IO_PROG -F -f -d -c "" $testfile 2>&1`
This assumes that both the test device and the scratch device are
both using the same mount options, right?

Some tests use the scratch device with different mount options, so
may actually allow direct IO to work even though the test device
fails. I haven't looked at whether any of the tests in this patch do
that, but if they do then you might also need a _require_scratch_dio
function for those tests....

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help