$filterdir/nbdkit-delay-filter.so
The filter.
Use "nbdkit --dump-config" to find the location of $filterdir.
Nbdkit delay filter
nbdkit --filter=delay
plugin
[plugin-args ...]
nbdkit --filter=delay
plugin
rdelay=DELAY
wdelay=DELAY
[plugin-args ...]
"nbdkit-delay-filter" is a filter for nbdkit(1) that delays read and write requests. This is used to simulate a slow or remote server, or to test certain kinds of race conditions in Linux. To limit server bandwidth use nbdkit-rate-filter(1) instead. To simulate a spinning disk see nbdkit-spinning-filter(1).
Delays reads and writes by 100ms:
nbdkit --filter=delay file disk.img rdelay=100ms wdelay=100ms
Delay only zero operations by 1 second, nothing else is affected:
nbdkit --filter=delay file disk.img delay-zero=1
In nbdkit ≥ 1.40, nbdkit_parse_delay(3) is used to parse the delay parameters, so a wide variety of formats are accepted, such as:
In nbdkit ≤ 1.38, only a whole number of seconds, or a whole number of milliseconds (if suffixed by "ms") were allowed.
rdelay=DELAYdelay-read=DELAYDelay read operations by "DELAY".
The two forms "rdelay" and "delay-read" work identically.
delay-write=DELAYDelay write operations by "DELAY".
delay-zero=DELAY(nbdkit ≥ 1.10)
Delay zero operations by "DELAY". See also delay-fast-zero.
delay-trim=DELAY(nbdkit ≥ 1.10)
Delay trim/discard operations by "DELAY".
delay-extents=DELAY(nbdkit ≥ 1.12)
Delay block status (extents) operations by "DELAY".
delay-cache=DELAY(nbdkit ≥ 1.14)
Delay advisory cache operations by "DELAY".
wdelay=DELAYDelay write, zero and trim operations by "DELAY".
delay-fast-zero=BOOL(nbdkit ≥ 1.16)
The NBD specification documents an extension called fast zero, in which the client may request that a server should reply with "ENOTSUP" as soon as possible if the zero operation offers no real speedup over a corresponding write. By default, this parameter is true, and fast zero requests are serviced by the plugin after the same delay as any other zero request; but setting this parameter to false instantly fails a fast zero response without waiting for or consulting the plugin.
delay-open=DELAY(nbdkit ≥ 1.28)
Delay open (client connection) by "DELAY".
delay-close=DELAY(nbdkit ≥ 1.28)
Delay close (client disconnection) by "DELAY". This can also cause server shutdown to be delayed if clients are connected at the time. This only affects clients that gracefully disconnect (using "NBD_CMD_DISC" / libnbd function nbd_shutdown(3)). Clients that abruptly disconnect from the server cannot be delayed.
$filterdir/nbdkit-delay-filter.so
The filter.
Use "nbdkit --dump-config" to find the location of $filterdir.
"nbdkit-delay-filter" first appeared in nbdkit 1.2, based on earlier "rdelay" and "wdelay" options in nbdkit-file-plugin(1).
4 releases since Debian 10 (Buster); the text changed 3 times.