$filterdir/nbdkit-noparallel-filter.so
The filter.
Use "nbdkit --dump-config" to find the location of $filterdir.
Nbdkit noparallel filter
nbdkit --filter=noparallel
plugin
[serialize=MODE]
[plugin-args ...]
"nbdkit-noparallel-filter" is a filter that intentionally disables parallelism in handling requests from clients. It is mainly useful for evaluating timing differences between various levels of parallelism. It can also be used as a way to work around any bugs in a plugin's claimed level of parallel support, without recompiling the plugin, or to ease efforts when connecting with a client that can batch up several requests but is not prepared to handle out-of-order replies.
To limit the number of concurrent clients it's usually better to use nbdkit-limit-filter(1).
serialize=requestsserialize=all-requestsserialize=connectionsOptional, controls how much serialization the filter will enforce. Mode requests (default) prevents a single client from having more than one in-flight request, but does not prevent parallel requests from a second connection (if the plugin supports that). Mode all-requests is stricter, enforcing that at most one request (regardless of connection) will be active, but does not prevent parallel connections (if the plugin supports that). Mode connections is strictest, where there can be at most one client at a time, and where the server will no longer advertise "NBD_FLAG_MULTI_CONN" to clients.
Serve the file disk.img, but disallow out-of-order transaction completion to a given client:
nbdkit --filter=noparallel file disk.img
Serve the file disk.img, but allowing only one client at a time:
nbdkit --filter=noparallel file serialize=connections disk.img
$filterdir/nbdkit-noparallel-filter.so
The filter.
Use "nbdkit --dump-config" to find the location of $filterdir.
"nbdkit-noparallel-filter" first appeared in nbdkit 1.14.
3 releases since Debian 11 (Bullseye); the text changed 2 times.