Home | History | Annotate | Download | only in examples
      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]
      8 ioengine=libaio 
      9 directory=/scratch
     10 # File size is reasonably huge to provoke ENOSPC
     11 filesize=128G
     12 size=999G
     13 iodepth=128
     14 
     15 # Expect write failure due to ENOSPC, skip error dump
     16 continue_on_error=write
     17 ignore_error=,ENOSPC
     18 error_dump=0
     19 fallocate=none
     20 exitall
     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]
     25 bs=128k 
     26 direct=1
     27 buffered=0 
     28 rw=randwrite
     29 runtime=100
     30 filename=raicer
     31 time_based
     32 
     33 [punch_hole-raicer]
     34 bs=4k
     35 rw=randtrim
     36 filename=raicer
     37 
     38 # Verifier thread continiously write to newly allcated blocks
     39 # and veryfy written content
     40 [aio-dio-verifier]
     41 create_on_open=1
     42 verify=crc32c-intel
     43 verify_fatal=1
     44 verify_dump=1
     45 verify_backlog=1024
     46 verify_async=4
     47 direct=1
     48 # block size should be equals to fs block size to prevent short writes
     49 bs=4k
     50 rw=randrw
     51 filename=aio-dio-verifier
     52