From: Yang Xu Date: Tue, 19 Jan 2021 06:13:39 +0000 (+0800) Subject: ext4/046: skip test when ext4 doesn't support bs < ps with dioread_nolock X-Git-Tag: v2022.05.01~569 X-Git-Url: https://git.ceph.com/?p=xfstests-dev.git;a=commitdiff_plain;h=e2072f840804bbf336285dd3eb9c6c0ebe85287f;hp=3ba859629de1b8e3645b06424c095d69c5b125d7 ext4/046: skip test when ext4 doesn't support bs < ps with dioread_nolock 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 Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- 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)