[PATCH v2] ext4/046: skip test when ext4 doesn't support bs < ps with dioread_nolock

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



When testing arm machine, this case fails because ps > bs and kernel doesn't
introduced commit c8cc88163f40 ("ext4: Add support for blocksize < pagesize in dioread_nolock").
Only skip this case when kernel complains about bs!=ps error, so we can find
dioread_nolock mount regression in the future.

Signed-off-by: Yang Xu <xuyang2018.jy@xxxxxxxxxxxxxx>
---
 tests/ext4/046 | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/tests/ext4/046 b/tests/ext4/046
index 5524024e..c6f7a051 100755
--- a/tests/ext4/046
+++ b/tests/ext4/046
@@ -31,13 +31,22 @@ _cleanup()
 # remove previous $seqres.full before test
 rm -f $seqres.full
 
+_require_check_dmesg
 _supported_fs ext4
 _require_scratch
 _require_xfs_io_command "falloc"
 _require_scratch_size $((6 * 1024 * 1024)) #kB
 
 _scratch_mkfs >> $seqres.full 2>&1
-_scratch_mount "-o dioread_nolock" >> $seqres.full 2>&1
+if ! _try_scratch_mount "-o dioread_nolock" >> $seqres.full 2>&1; then
+	err_str="can't mount with dioread_nolock if block size != PAGE_SIZE"
+	_check_dmesg_for ${err_str}
+	if [ $? -eq 0 ]; then
+		_notrun "mount failed, ext4 doesn't support bs < ps with dioread_nolock"
+	else
+		_fail "mount failed with dioread_nolock"
+	fi
+fi
 
 # Get blksz
 blksz=$(_get_file_block_size $SCRATCH_MNT)
-- 
2.23.0






[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux