From: Junho Ryu <jayr@google.com>
To: xfs@oss.sgi.com
Cc: tytso@mit.edu, hughd@google.com, branto@redhat.com,
Junho Ryu <jayr@google.com>
Subject: [PATCH 08/10] xfstests: check O_DIRECT support before testing direct I/O
Date: Tue, 10 Dec 2013 12:11:59 -0800 [thread overview]
Message-ID: <1386706321-15795-9-git-send-email-jayr@google.com> (raw)
In-Reply-To: <1386706321-15795-1-git-send-email-jayr@google.com>
Some filesystems do not support O_DIRECT. Check whether TEST_DIR supports it
by running xfs_io with and without -d flag.
Signed-off-by: Junho Ryu <jayr@google.com>
---
common/rc | 15 +++++++++++++++
tests/generic/091 | 1 +
tests/generic/130 | 1 +
tests/generic/133 | 1 +
tests/generic/135 | 1 +
tests/generic/226 | 1 +
tests/generic/263 | 1 +
tests/generic/299 | 1 +
tests/generic/300 | 1 +
9 files changed, 23 insertions(+)
diff --git a/common/rc b/common/rc
index 4d46008..02c47ea 100644
--- a/common/rc
+++ b/common/rc
@@ -1185,6 +1185,7 @@ _require_aiodio()
AIO_TEST=src/aio-dio-regress/$1
[ -x $AIO_TEST ] || _notrun "$AIO_TEST not built"
fi
+ _require_xfs_io_direct
}
# run an aio-dio program
@@ -1323,6 +1324,20 @@ _require_xfs_io_fiemap()
_notrun "xfs_io fiemap command failed (no fs support?)"
}
+# check that xfs_io, kernel and filesystem support direct I/O
+_require_xfs_io_direct()
+{
+ testfile=$TEST_DIR/$$.direct
+ $XFS_IO_PROG -F -f -c "pwrite 0 20k" $testfile 2>&1
+ if [ $? -eq 0 ]; then
+ $XFS_IO_PROG -F -f -d -c "pwrite 0 20k" $testfile 2>&1
+ if [ $? -ne 0 ]; then
+ _notrun "O_DIRECT is not supported"
+ fi
+ fi
+ rm -f $testfile 2>&1 > /dev/null
+}
+
# Check that a fs has enough free space (in 1024b blocks)
#
_require_fs_space()
diff --git a/tests/generic/091 b/tests/generic/091
index bb176f1..926042d 100755
--- a/tests/generic/091
+++ b/tests/generic/091
@@ -38,6 +38,7 @@ trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
# real QA test starts here
_supported_fs generic
_supported_os Linux
+_require_xfs_io_direct
rm -f $seqres.full
diff --git a/tests/generic/130 b/tests/generic/130
index 8367dc7..f9c885f 100755
--- a/tests/generic/130
+++ b/tests/generic/130
@@ -50,6 +50,7 @@ _supported_os Linux IRIX
_require_scratch
_require_sparse_files
+_require_xfs_io_direct
_scratch_mkfs >/dev/null 2>&1
_scratch_mount
diff --git a/tests/generic/133 b/tests/generic/133
index 7fb1695..d858756 100755
--- a/tests/generic/133
+++ b/tests/generic/133
@@ -38,6 +38,7 @@ trap "exit \$status" 0 1 2 3 15
# real QA test starts here
_supported_fs generic
_supported_os Linux IRIX
+_require_xfs_io_direct
echo "Buffered writer, buffered reader"
$XFS_IO_PROG -f -d -c 'pwrite -b 64k 0 512m' $TEST_DIR/io_test > /dev/null
diff --git a/tests/generic/135 b/tests/generic/135
index 4a8b690..04ceebf 100755
--- a/tests/generic/135
+++ b/tests/generic/135
@@ -39,6 +39,7 @@ trap "exit \$status" 0 1 2 3 15
_supported_fs generic
_supported_os Linux IRIX
+_require_xfs_io_direct
_require_scratch
_scratch_mkfs >/dev/null 2>&1 || _fail "mkfs failed"
_scratch_mount > /dev/null 2>&1 || _fail "mount failed"
diff --git a/tests/generic/226 b/tests/generic/226
index 3514965..0fbaea7 100755
--- a/tests/generic/226
+++ b/tests/generic/226
@@ -37,6 +37,7 @@ trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
_supported_fs generic
_supported_os Linux IRIX
_require_scratch
+_require_xfs_io_direct
# real QA test starts here
rm -f $seqres.full
diff --git a/tests/generic/263 b/tests/generic/263
index bc59865..7bfe3ed 100755
--- a/tests/generic/263
+++ b/tests/generic/263
@@ -38,6 +38,7 @@ trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
# real QA test starts here
_supported_fs generic
_supported_os Linux
+_require_xfs_io_direct
rm -f $seqres.full
diff --git a/tests/generic/299 b/tests/generic/299
index 14cce96..f2a83ee 100755
--- a/tests/generic/299
+++ b/tests/generic/299
@@ -43,6 +43,7 @@ _supported_fs generic
_supported_os Linux
_need_to_be_root
_require_scratch
+_require_xfs_io_direct
NUM_JOBS=$((4*LOAD_FACTOR))
BLK_DEV_SIZE=`blockdev --getsz $SCRATCH_DEV`
diff --git a/tests/generic/300 b/tests/generic/300
index 7c60728..006c214 100755
--- a/tests/generic/300
+++ b/tests/generic/300
@@ -43,6 +43,7 @@ _supported_fs generic
_supported_os Linux
_need_to_be_root
_require_scratch
+_require_xfs_io_direct
NUM_JOBS=$((4*LOAD_FACTOR))
BLK_DEV_SIZE=`blockdev --getsz $SCRATCH_DEV`
--
1.8.5.1
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2013-12-10 20:12 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-10 20:11 [PATCH 00/10] Add tmpfs filesystem support Junho Ryu
2013-12-10 20:11 ` [PATCH 01/10] xfstests: Add tmpfs support Junho Ryu
2013-12-11 7:40 ` Christoph Hellwig
2013-12-17 16:40 ` Rich Johnston
2013-12-10 20:11 ` [PATCH 02/10] xfstests: use mount point instead of device name Junho Ryu
2013-12-11 7:42 ` Christoph Hellwig
2013-12-10 20:11 ` [PATCH 03/10] xfstests: _scratch_mkfs_sized() for tmpfs Junho Ryu
2013-12-11 7:44 ` Christoph Hellwig
2013-12-10 20:11 ` [PATCH 04/10] xfstests: increase tmpfs memory size Junho Ryu
2013-12-11 7:44 ` Christoph Hellwig
2013-12-10 20:11 ` [PATCH 05/10] xfstests: do not unmount tmpfs during remount Junho Ryu
2013-12-11 7:46 ` Christoph Hellwig
2013-12-11 22:40 ` Dave Chinner
2013-12-12 0:16 ` Theodore Ts'o
2013-12-12 0:53 ` Dave Chinner
2013-12-12 18:01 ` Christoph Hellwig
2013-12-12 22:56 ` Dave Chinner
2013-12-13 0:00 ` Junho Ryu
2013-12-13 1:41 ` Dave Chinner
2013-12-13 11:12 ` Christoph Hellwig
2013-12-13 4:56 ` Theodore Ts'o
2013-12-13 11:04 ` Christoph Hellwig
2013-12-10 20:11 ` [PATCH 06/10] xfstests: fix generic/225 to check fiemap support Junho Ryu
2013-12-11 7:46 ` Christoph Hellwig
2013-12-11 22:42 ` Dave Chinner
2013-12-12 18:01 ` Christoph Hellwig
2013-12-12 22:44 ` Junho Ryu
2013-12-12 23:00 ` Dave Chinner
2013-12-10 20:11 ` [PATCH 07/10] xfstests: fix generic/127 to call _cleanup() only once Junho Ryu
2013-12-11 7:47 ` Christoph Hellwig
2013-12-10 20:11 ` Junho Ryu [this message]
2013-12-11 7:47 ` [PATCH 08/10] xfstests: check O_DIRECT support before testing direct I/O Christoph Hellwig
2013-12-10 20:12 ` [PATCH 09/10] xfstests: add executable permission to tests Junho Ryu
2013-12-11 7:48 ` Christoph Hellwig
2013-12-10 20:12 ` [PATCH 10/10] xfstests: skip parts of tests which cannot work on tmpfs Junho Ryu
2013-12-11 7:51 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1386706321-15795-9-git-send-email-jayr@google.com \
--to=jayr@google.com \
--cc=branto@redhat.com \
--cc=hughd@google.com \
--cc=tytso@mit.edu \
--cc=xfs@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.