16cf2a73cSMauro Carvalho Chehab======== 26cf2a73cSMauro Carvalho Chehabdm-delay 36cf2a73cSMauro Carvalho Chehab======== 46cf2a73cSMauro Carvalho Chehab 56cf2a73cSMauro Carvalho ChehabDevice-Mapper's "delay" target delays reads and/or writes 66cf2a73cSMauro Carvalho Chehaband maps them to different devices. 76cf2a73cSMauro Carvalho Chehab 86cf2a73cSMauro Carvalho ChehabParameters:: 96cf2a73cSMauro Carvalho Chehab 106cf2a73cSMauro Carvalho Chehab <device> <offset> <delay> [<write_device> <write_offset> <write_delay> 116cf2a73cSMauro Carvalho Chehab [<flush_device> <flush_offset> <flush_delay>]] 126cf2a73cSMauro Carvalho Chehab 136cf2a73cSMauro Carvalho ChehabWith separate write parameters, the first set is only used for reads. 146cf2a73cSMauro Carvalho ChehabOffsets are specified in sectors. 156cf2a73cSMauro Carvalho ChehabDelays are specified in milliseconds. 166cf2a73cSMauro Carvalho Chehab 176cf2a73cSMauro Carvalho ChehabExample scripts 186cf2a73cSMauro Carvalho Chehab=============== 196cf2a73cSMauro Carvalho Chehab 206cf2a73cSMauro Carvalho Chehab:: 216cf2a73cSMauro Carvalho Chehab 226cf2a73cSMauro Carvalho Chehab #!/bin/sh 236cf2a73cSMauro Carvalho Chehab # Create device delaying rw operation for 500ms 246cf2a73cSMauro Carvalho Chehab echo "0 `blockdev --getsz $1` delay $1 0 500" | dmsetup create delayed 256cf2a73cSMauro Carvalho Chehab 266cf2a73cSMauro Carvalho Chehab:: 276cf2a73cSMauro Carvalho Chehab 286cf2a73cSMauro Carvalho Chehab #!/bin/sh 296cf2a73cSMauro Carvalho Chehab # Create device delaying only write operation for 500ms and 306cf2a73cSMauro Carvalho Chehab # splitting reads and writes to different devices $1 $2 316cf2a73cSMauro Carvalho Chehab echo "0 `blockdev --getsz $1` delay $1 0 0 $2 0 500" | dmsetup create delayed 32