1# 2# Test for race-condition DIO-write vs punch_hole 3# If race exist dio may rewrite punched block after 4# it was allocated to another file, we will catch that 5# by verifying blocks content 6# 7[global] 8ioengine=libaio 9directory=/scratch 10# File size is reasonably huge to provoke ENOSPC 11filesize=128G 12size=999G 13iodepth=128 14 15# Expect write failure due to ENOSPC, skip error dump 16continue_on_error=write 17ignore_error=,ENOSPC 18error_dump=0 19fallocate=none 20exitall 21 22# Two threads (dio and punch_hole) operate on single file:'raicer', 23# We do not care about data content here 24[dio-raicer] 25bs=128k 26direct=1 27buffered=0 28rw=randwrite 29runtime=100 30filename=raicer 31time_based 32 33[punch_hole-raicer] 34bs=4k 35rw=randtrim 36filename=raicer 37 38# Verifier thread continiously write to newly allcated blocks 39# and veryfy written content 40[aio-dio-verifier] 41create_on_open=1 42verify=crc32c-intel 43verify_fatal=1 44verify_dump=1 45verify_backlog=1024 46verify_async=4 47direct=1 48# block size should be equals to fs block size to prevent short writes 49bs=4k 50rw=randrw 51filename=aio-dio-verifier 52