1 ======== 1 ======== 2 dm-delay 2 dm-delay 3 ======== 3 ======== 4 4 5 Device-Mapper's "delay" target delays reads an 5 Device-Mapper's "delay" target delays reads and/or writes 6 and/or flushs and optionally maps them to diff 6 and/or flushs and optionally maps them to different devices. 7 7 8 Arguments:: 8 Arguments:: 9 9 10 <device> <offset> <delay> [<write_device> 10 <device> <offset> <delay> [<write_device> <write_offset> <write_delay> 11 [<flush_device> 11 [<flush_device> <flush_offset> <flush_delay>]] 12 12 13 Table line has to either have 3, 6 or 9 argume 13 Table line has to either have 3, 6 or 9 arguments: 14 14 15 3: apply offset and delay to read, write and f 15 3: apply offset and delay to read, write and flush operations on device 16 16 17 6: apply offset and delay to device, also appl 17 6: apply offset and delay to device, also apply write_offset and write_delay 18 to write and flush operations on optionally 18 to write and flush operations on optionally different write_device with 19 optionally different sector offset 19 optionally different sector offset 20 20 21 9: same as 6 arguments plus define flush_offse 21 9: same as 6 arguments plus define flush_offset and flush_delay explicitely 22 on/with optionally different flush_device/f 22 on/with optionally different flush_device/flush_offset. 23 23 24 Offsets are specified in sectors. 24 Offsets are specified in sectors. 25 25 26 Delays are specified in milliseconds. 26 Delays are specified in milliseconds. 27 27 28 28 29 Example scripts 29 Example scripts 30 =============== 30 =============== 31 31 32 :: 32 :: 33 #!/bin/sh 33 #!/bin/sh 34 # 34 # 35 # Create mapped device named "delayed" 35 # Create mapped device named "delayed" delaying read, write and flush operations for 500ms. 36 # 36 # 37 dmsetup create delayed --table "0 `bl 37 dmsetup create delayed --table "0 `blockdev --getsz $1` delay $1 0 500" 38 38 39 :: 39 :: 40 #!/bin/sh 40 #!/bin/sh 41 # 41 # 42 # Create mapped device delaying write 42 # Create mapped device delaying write and flush operations for 400ms and 43 # splitting reads to device $1 but wri 43 # splitting reads to device $1 but writes and flushs to different device $2 44 # to different offsets of 2048 and 409 44 # to different offsets of 2048 and 4096 sectors respectively. 45 # 45 # 46 dmsetup create delayed --table "0 `blo 46 dmsetup create delayed --table "0 `blockdev --getsz $1` delay $1 2048 0 $2 4096 400" 47 47 48 :: 48 :: 49 #!/bin/sh 49 #!/bin/sh 50 # 50 # 51 # Create mapped device delaying reads 51 # Create mapped device delaying reads for 50ms, writes for 100ms and flushs for 333ms 52 # onto the same backing device at offs 52 # onto the same backing device at offset 0 sectors. 53 # 53 # 54 dmsetup create delayed --table "0 `blo 54 dmsetup create delayed --table "0 `blockdev --getsz $1` delay $1 0 50 $2 0 100 $1 0 333"
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.