nbdkit-noparallel-filter(1)
π nbdkit-noparallel-filter β the nbdkit-noparallel-filter(1) manual, bestie edition π
okay so this is the manual page for the noparallel filter in the NBDKIT manual set, and I'm gonna walk you through it like we're texting at 1am. grab a snack. π
β¨ NAME β¨
nbdkit-noparallel-filter β the nbdkit noparallel filter. that's it, that's the name, she's simple and she's iconic. π
β¨ SYNOPSIS β¨
nbdkit --filter=noparallel plugin [serialize=MODE] [plugin-args...]
look at her. --filter=noparallel, then your plugin, then maybe a serialize=MODE if you're feeling spicy, then whatever args your plugin wants. the way that syntax is just sitting there being all clean π
β¨ DESCRIPTION β¨
So nbdkit-noparallel-filter is a filter that intentionally turns off parallelism when it's handling requests from clients. on purpose. deliberately. no cap. it's not a bug, it's a choice. π
what is it even FOR, you ask? glad you asked bestie:
- it's mainly useful for evaluating timing differences between various levels of parallelism β like, science. vibes-based benchmarking. π¬
- it can also be used as a way to work around bugs in a plugin's claimed level of parallel support, without recompiling the plugin. no rebuild, no drama, just vibes. π«Ά
- or to ease efforts when you're connecting with a client that can batch up several requests but is not prepared to handle out-of-order replies. that client is not okay and we're supporting it. π
π¨ quick heads up: if what you actually want is to limit the number of concurrent clients, it's usually better to use nbdkit-limit-filter(1). don't come for this filter for a job that isn't hers. π
β¨ PARAMETERS β¨
serialize=requests serialize=all-requests serialize=connections
- these are optional and they control how much serialization the filter will enforce. pick your fighter:
serialize=requestsβ this is the default. it prevents a single client from having more than one in-flight request, but it does not prevent parallel requests from a second connection (if the plugin supports that). so like, one client at a time per client. iykyk. π¦serialize=all-requestsβ stricter, bestie. it enforces that at most one request (regardless of connection) will be active. but β and this is the plot twist β it does not prevent parallel connections (if the plugin supports that). π³serialize=connectionsβ the strictest one, the final boss, main character energy. there can be at most one client at a time, and the server will no longer advertiseNBD_FLAG_MULTI_CONNto clients. periodt. π
β¨ EXAMPLES β¨
exhibit a: serve the file disk.img, but disallow out-of-order transaction completion to a given client:
nbdkit --filter=noparallel file disk.img
exhibit b: serve the file disk.img, but allowing only one client at a time:
nbdkit --filter=noparallel file serialize=connections disk.img
see how she ate that? two lines, two whole behaviours. π₯
β¨ FILES β¨
$filterdir/nbdkit-noparallel-filter.soβ the filter itself. the actual girl. π- to find out where
$filterdirlives, runnbdkit --dump-config. she'll tell you. no gatekeeping here. β¨
β¨ VERSION β¨
nbdkit-noparallel-filter first appeared in nbdkit 1.14. a legend from day one. π
β¨ SEE ALSO β¨
go read these next, bestie, they're all in the group chat:
nbdkit(1)nbdkit-file-plugin(1)nbdkit-filter(3)nbdkit-fua-filter(1)nbdkit-limit-filter(1)nbdkit-multi-conn-filter(1)nbdkit-nocache-filter(1)nbdkit-noextents-filter(1)nbdkit-nozero-filter(1)
β¨ AUTHORS β¨
Eric Blake β thank you for your service, king. π«‘π
β¨ COPYRIGHT β¨
Copyright Red Hat
β¨ LICENSE β¨
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of Red Hat nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
and that's the whole page, babe π this one's from the nbdkit-1.48.1 era, dated 2026-08-29, and it's still out here doing her little serialization thing. go forth and be un-parallel. slay. π β¨π¦
π¦ where this page comes from
- fedora 44: nbdkit-basic-filters 1.48.1-1.fc44 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms