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 maps them to different devices. 7 7 8 Arguments:: !! 8 Parameters:: 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 With separate write parameters, the first set is only used for reads. 14 << 15 3: apply offset and delay to read, write and f << 16 << 17 6: apply offset and delay to device, also appl << 18 to write and flush operations on optionally << 19 optionally different sector offset << 20 << 21 9: same as 6 arguments plus define flush_offse << 22 on/with optionally different flush_device/f << 23 << 24 Offsets are specified in sectors. 14 Offsets are specified in sectors. 25 << 26 Delays are specified in milliseconds. 15 Delays are specified in milliseconds. 27 16 28 << 29 Example scripts 17 Example scripts 30 =============== 18 =============== 31 19 32 :: 20 :: 33 #!/bin/sh << 34 # << 35 # Create mapped device named "delayed" << 36 # << 37 dmsetup create delayed --table "0 `bl << 38 21 39 :: << 40 #!/bin/sh 22 #!/bin/sh 41 # !! 23 # Create device delaying rw operation for 500ms 42 # Create mapped device delaying write !! 24 echo "0 `blockdev --getsz $1` delay $1 0 500" | dmsetup create delayed 43 # splitting reads to device $1 but wri << 44 # to different offsets of 2048 and 409 << 45 # << 46 dmsetup create delayed --table "0 `blo << 47 25 48 :: 26 :: >> 27 49 #!/bin/sh 28 #!/bin/sh 50 # !! 29 # Create device delaying only write operation for 500ms and 51 # Create mapped device delaying reads !! 30 # splitting reads and writes to different devices $1 $2 52 # onto the same backing device at offs !! 31 echo "0 `blockdev --getsz $1` delay $1 0 0 $2 0 500" | dmsetup create delayed 53 # << 54 dmsetup create delayed --table "0 `blo <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.