dm-delay¶
Device-Mapper’s “delay” target delays reads and/or writes and/or flushs and optionally maps them to different devices.
Arguments:
<device> <offset> <delay> [<write_device> <write_offset> <write_delay>
[<flush_device> <flush_offset> <flush_delay>]]
Table line has to either have 3, 6 or 9 arguments:
3: apply offset and delay to read, write and flush operations on device
- 6: apply offset and delay to device, also apply write_offset and write_delay
to write and flush operations on optionally different write_device with optionally different sector offset
- 9: same as 6 arguments plus define flush_offset and flush_delay explicitely
on/with optionally different flush_device/flush_offset.
Offsets are specified in sectors.
Delays are specified in milliseconds.
Example scripts¶
- ::
#!/bin/sh # # Create mapped device named “delayed” delaying read, write and flush operations for 500ms. # dmsetup create delayed --table “0 blockdev --getsz $1 delay $1 0 500”
- ::
#!/bin/sh # # Create mapped device delaying write and flush operations for 400ms and # splitting reads to device $1 but writes and flushs to different device $2 # to different offsets of 2048 and 4096 sectors respectively. # dmsetup create delayed --table “0 blockdev --getsz $1 delay $1 2048 0 $2 4096 400”
- ::
#!/bin/sh # # Create mapped device delaying reads for 50ms, writes for 100ms and flushs for 333ms # onto the same backing device at offset 0 sectors. # dmsetup create delayed --table “0 blockdev --getsz $1 delay $1 0 50 $2 0 100 $1 0 333”