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