Skip to content

Commit 5d3691a

Browse files
mauelshaMikulas Patocka
authored andcommitted
dm delay: enhance kernel documentation
This commit improves documentation of the dm-delay target. Signed-off-by: Heinz Mauelshagen <[email protected]> Signed-off-by: Mikulas Patocka <[email protected]>
1 parent 013f510 commit 5d3691a

File tree

1 file changed

+32
-9
lines changed
  • Documentation/admin-guide/device-mapper

1 file changed

+32
-9
lines changed

Documentation/admin-guide/device-mapper/delay.rst

Lines changed: 32 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,52 @@ dm-delay
33
========
44

55
Device-Mapper's "delay" target delays reads and/or writes
6-
and maps them to different devices.
6+
and/or flushs and optionally maps them to different devices.
77

8-
Parameters::
8+
Arguments::
99

1010
<device> <offset> <delay> [<write_device> <write_offset> <write_delay>
1111
[<flush_device> <flush_offset> <flush_delay>]]
1212

13-
With separate write parameters, the first set is only used for reads.
13+
Table line has to either have 3, 6 or 9 arguments:
14+
15+
3: apply offset and delay to read, write and flush operations on device
16+
17+
6: apply offset and delay to device, also apply write_offset and write_delay
18+
to write and flush operations on optionally different write_device with
19+
optionally different sector offset
20+
21+
9: same as 6 arguments plus define flush_offset and flush_delay explicitely
22+
on/with optionally different flush_device/flush_offset.
23+
1424
Offsets are specified in sectors.
25+
1526
Delays are specified in milliseconds.
1627

28+
1729
Example scripts
1830
===============
1931

2032
::
21-
2233
#!/bin/sh
23-
# Create device delaying rw operation for 500ms
24-
echo "0 `blockdev --getsz $1` delay $1 0 500" | dmsetup create delayed
34+
#
35+
# Create mapped device named "delayed" delaying read, write and flush operations for 500ms.
36+
#
37+
dmsetup create delayed --table "0 `blockdev --getsz $1` delay $1 0 500"
2538

2639
::
40+
#!/bin/sh
41+
#
42+
# Create mapped device delaying write and flush operations for 400ms and
43+
# splitting reads to device $1 but writes and flushs to different device $2
44+
# to different offsets of 2048 and 4096 sectors respectively.
45+
#
46+
dmsetup create delayed --table "0 `blockdev --getsz $1` delay $1 2048 0 $2 4096 400"
2747

48+
::
2849
#!/bin/sh
29-
# Create device delaying only write operation for 500ms and
30-
# splitting reads and writes to different devices $1 $2
31-
echo "0 `blockdev --getsz $1` delay $1 0 0 $2 0 500" | dmsetup create delayed
50+
#
51+
# Create mapped device delaying reads for 50ms, writes for 100ms and flushs for 333ms
52+
# onto the same backing device at offset 0 sectors.
53+
#
54+
dmsetup create delayed --table "0 `blockdev --getsz $1` delay $1 0 50 $2 0 100 $1 0 333"

0 commit comments

Comments
 (0)