cda6b5ab7f
Add a new class for dm-delay that delays flush requests. Previously, flushes were delayed as writes, but it caused problems if the user needed to create a device with one or a few slow sectors for the purpose of testing - all flushes would be forwarded to this device and delayed, and that skews the test results. Fix this by allowing to select 0 delay for flushes. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
28 lines
780 B
Text
28 lines
780 B
Text
dm-delay
|
|
========
|
|
|
|
Device-Mapper's "delay" target delays reads and/or writes
|
|
and maps them to different devices.
|
|
|
|
Parameters:
|
|
<device> <offset> <delay> [<write_device> <write_offset> <write_delay>
|
|
[<flush_device> <flush_offset> <flush_delay>]]
|
|
|
|
With separate write parameters, the first set is only used for reads.
|
|
Offsets are specified in sectors.
|
|
Delays are specified in milliseconds.
|
|
|
|
Example scripts
|
|
===============
|
|
[[
|
|
#!/bin/sh
|
|
# Create device delaying rw operation for 500ms
|
|
echo "0 `blockdev --getsz $1` delay $1 0 500" | dmsetup create delayed
|
|
]]
|
|
|
|
[[
|
|
#!/bin/sh
|
|
# Create device delaying only write operation for 500ms and
|
|
# splitting reads and writes to different devices $1 $2
|
|
echo "0 `blockdev --getsz $1` delay $1 0 0 $2 0 500" | dmsetup create delayed
|
|
]]
|