Update Red Hat Copyright Notices
[nbdkit.git] / filters / noparallel / nbdkit-noparallel-filter.pod
blob63e0dcb03c9cc6d7d451167aa6a8bf97d57df38f
1 =head1 NAME
3 nbdkit-noparallel-filter - nbdkit noparallel filter
5 =head1 SYNOPSIS
7  nbdkit --filter=noparallel plugin [serialize=MODE] [plugin-args...]
9 =head1 DESCRIPTION
11 C<nbdkit-noparallel-filter> is a filter that intentionally disables
12 parallelism in handling requests from clients. It is mainly useful for
13 evaluating timing differences between various levels of parallelism.
14 It can also be used as a way to work around any bugs in a plugin's
15 claimed level of parallel support, without recompiling the plugin, or
16 to ease efforts when connecting with a client that can batch up
17 several requests but is not prepared to handle out-of-order replies.
19 To limit the number of concurrent clients it's usually better to use
20 L<nbdkit-limit-filter(1)>.
22 =head1 PARAMETERS
24 =over 4
26 =item B<serialize=requests>
28 =item B<serialize=all-requests>
30 =item B<serialize=connections>
32 Optional, controls how much serialization the filter will
33 enforce. Mode B<requests> (default) prevents a single client from
34 having more than one in-flight request, but does not prevent parallel
35 requests from a second connection (if the plugin supports that). Mode
36 B<all-requests> is stricter, enforcing that at most one request
37 (regardless of connection) will be active, but does not prevent
38 parallel connections (if the plugin supports that). Mode
39 B<connections> is strictest, where there can be at most one client at
40 a time, and where the server will no longer advertise
41 C<NBD_FLAG_MULTI_CONN> to clients.
43 =back
45 =head1 EXAMPLES
47 Serve the file F<disk.img>, but disallow out-of-order transaction
48 completion to a given client:
50  nbdkit --filter=noparallel file disk.img
52 Serve the file F<disk.img>, but allowing only one client at a time:
54  nbdkit --filter=noparallel file serialize=connections disk.img
56 =head1 FILES
58 =over 4
60 =item F<$filterdir/nbdkit-noparallel-filter.so>
62 The filter.
64 Use C<nbdkit --dump-config> to find the location of C<$filterdir>.
66 =back
68 =head1 VERSION
70 C<nbdkit-noparallel-filter> first appeared in nbdkit 1.14.
72 =head1 SEE ALSO
74 L<nbdkit(1)>,
75 L<nbdkit-file-plugin(1)>,
76 L<nbdkit-filter(3)>,
77 L<nbdkit-fua-filter(1)>,
78 L<nbdkit-limit-filter(1)>,
79 L<nbdkit-multi-conn-filter(1)>,
80 L<nbdkit-nocache-filter(1)>,
81 L<nbdkit-noextents-filter(1)>,
82 L<nbdkit-nozero-filter(1)>.
84 =head1 AUTHORS
86 Eric Blake
88 =head1 COPYRIGHT
90 Copyright Red Hat