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