This reverts commit fc5870da485aec0f9196a0f2bed32f73f6b2c664 generic/470 was original designed to verify mmap(MAP_SYNC) on the log-writes device enabling DAX. As a result, we need to ensure that all underlying devices under the log-writes device support DAX. However the thin-volume device never supports DAX so generic/470 with the dm-thin device always gets "[not run] Cannot use thin-pool devices on DAX capable block devices". Besides, mmap(MAP_SYNC) will throw "mmap: Operation not supported" even if we make generic/470 continue unconditionally. Please see the difference between old and new logic: old logic new logic ------------------------------------------------------------ log-writes device(DAX) log-writes device(DAX) | | PMEM0(DAX) + PMEM1(DAX) thin-volume(non-DAX) + PMEM1(DAX) | PMEM0(DAX) ------------------------------------------------------------ I think it is wrong for generic/470 to use thin volume. Signed-off-by: Xiao Yang <yangx.jy@xxxxxxxxxxx> --- tests/generic/470 | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/tests/generic/470 b/tests/generic/470 index f3407511..93a6e3f4 100755 --- a/tests/generic/470 +++ b/tests/generic/470 @@ -15,33 +15,22 @@ _cleanup() { cd / _log_writes_cleanup - _dmthin_cleanup rm -f $tmp.* } # Import common functions. . ./common/filter -. ./common/dmthin . ./common/dmlogwrites # real QA test starts here _supported_fs generic -_require_scratch_nocheck +_require_scratch _require_no_logdev _require_log_writes_dax_mountopt "dax" -_require_dm_target thin-pool _require_xfs_io_command "mmap" "-S" _require_xfs_io_command "log_writes" -devsize=$((1024*1024*200 / 512)) # 200m phys/virt size -csize=$((1024*64 / 512)) # 64k cluster size -lowspace=$((1024*1024 / 512)) # 1m low space threshold - -# Use a thin device to provide deterministic discard behavior. Discards are used -# by the log replay tool for fast zeroing to prevent out-of-order replay issues. -_dmthin_init $devsize $devsize $csize $lowspace - -_log_writes_init $DMTHIN_VOL_DEV +_log_writes_init $SCRATCH_DEV _log_writes_mkfs >> $seqres.full 2>&1 _log_writes_mount -o dax @@ -54,14 +43,14 @@ $XFS_IO_PROG -t -c "truncate $LEN" -c "mmap -S 0 $LEN" -c "mwrite 0 $LEN" \ # Unmount the scratch dir and tear down the log writes target _log_writes_unmount _log_writes_remove -_dmthin_check_fs +_check_scratch_fs # destroy previous filesystem so we can be sure our rebuild works -_mkfs_dev $DMTHIN_VOL_DEV >> $seqres.full 2>&1 +_scratch_mkfs >> $seqres.full 2>&1 # check pre-unmap state -_log_writes_replay_log preunmap $DMTHIN_VOL_DEV -_dmthin_mount +_log_writes_replay_log preunmap $SCRATCH_DEV +_scratch_mount # We should see $SCRATCH_MNT/test as having 1 MiB in block allocations du -sh $SCRATCH_MNT/test | _filter_scratch | _filter_spaces -- 2.34.1