common/rc: ext4 doesn't support O_DIRECT with data journaling

Modify _require_odirect() to skip O_DIRECT tests if the ext4 mount
option data=journal has been applied.  Because ext4 disables its
O_DIRECT support when in data journaling mode, no significant value
is obtained by running these tests and they consume a significant
amount of run time.  Additionally, this change eliminates the need
to triage false negative O_DIRECT test results caused by test
problems, as has occurred from time to time.

Signed-off-by: Eric Whitney <enwlinux@gmail.com>
Reviewed-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Eryu Guan <eguan@redhat.com>
This commit is contained in:
Eric Whitney
2018-01-10 16:19:05 -05:00
committed by Eryu Guan
parent dbb857f8d1
commit 2931de473c
+2
View File
@@ -2150,6 +2150,8 @@ _require_odirect()
if [ $FSTYP = "ext4" ] ; then
if echo "$MOUNT_OPTIONS" | grep -q "test_dummy_encryption"; then
_notrun "ext4 encryption doesn't support O_DIRECT"
elif echo "$MOUNT_OPTIONS" | grep -q "data=journal"; then
_notrun "ext4 data journaling doesn't support O_DIRECT"
fi
fi
testfile=$TEST_DIR/$$.direct