On Thu, Feb 22, 2024 at 04:26:54PM -0600, Eric Blake wrote:
While abbreviations are easier to type, spelling out an option makes
a
complex command line easier to understand.
For symmetry, the recent addition of --no-meta-contexts now documents
that it has an alias --no-mc.
Signed-off-by: Eric Blake <eblake(a)redhat.com>
---
docs/nbdkit-protocol.pod | 8 ++++++--
docs/nbdkit.pod | 2 ++
docs/synopsis.txt | 3 ++-
server/options.h | 1 +
tests/test-synopsis.sh | 1 +
5 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/docs/nbdkit-protocol.pod b/docs/nbdkit-protocol.pod
index 620ea16e..570ef23b 100644
--- a/docs/nbdkit-protocol.pod
+++ b/docs/nbdkit-protocol.pod
@@ -4,8 +4,8 @@ nbdkit-protocol - which parts of the NBD protocol nbdkit supports
=head1 SYNOPSIS
- nbdkit [-n|--newstyle] [--mask-handshake MASK] [--no-meta-contexts]
- [--no-sr] [-o|--oldstyle] [...]
+ nbdkit [-n|--newstyle] [--mask-handshake MASK] [--no-mc|--no-meta-contexts]
+ [--no-sr|--no-structured-replies] [-o|--oldstyle] [...]
=head1 DESCRIPTION
@@ -38,6 +38,8 @@ parts of the NBD protocol, with successively larger impacts:
=over 4
+=item B<--no-mc>
+
=item B<--no-meta-contexts>
Force the newstyle protocol to treat all requests for meta context
@@ -51,6 +53,8 @@ emulating nbd-server 3.25.
=item B<--no-sr>
+=item B<--no-structured-replies>
+
Force the newstyle protocol to decline any client request for
structured replies; this is stronger than I<--no-meta-contexts> in
that it also disables the opportunity for sparse reads. This is
diff --git a/docs/nbdkit.pod b/docs/nbdkit.pod
index 4391fc7b..8e82b337 100644
--- a/docs/nbdkit.pod
+++ b/docs/nbdkit.pod
@@ -334,6 +334,8 @@ L<nbdkit-protocol(1)>.
=item B<--no-sr>
+=item B<--no-structured-replies>
+
Do not advertise structured replies. A client must request structured
replies to take advantage of block status and potential sparse reads;
however, as structured reads are not a mandatory part of the newstyle
diff --git a/docs/synopsis.txt b/docs/synopsis.txt
index 4fbca826..7fb107e8 100644
--- a/docs/synopsis.txt
+++ b/docs/synopsis.txt
@@ -4,7 +4,8 @@ nbdkit [-4|--ipv4-only] [-6|--ipv6-only]
[--filter=FILTER ...] [-f|--foreground]
[-g|--group GROUP] [-i|--ipaddr IPADDR]
[--log=stderr|syslog|null] [--mask-handshake=MASK]
- [-n|--newstyle] [--no-meta-contexts] [--no-sr] [-o|--oldstyle]
+ [-n|--newstyle] [--no-mc|--no-meta-contexts]
+ [--no-sr|--no-structured-replies] [-o|--oldstyle]
[-P|--pidfile PIDFILE] [-p|--port PORT]
[-r|--readonly] [--run 'COMMAND ARGS ...']
[--selinux-label=LABEL] [-s|--single] [--swap]
diff --git a/server/options.h b/server/options.h
index 544f8335..7d0730ba 100644
--- a/server/options.h
+++ b/server/options.h
@@ -86,6 +86,7 @@ static const struct option long_options[] = {
{ "no-mc", no_argument, NULL, NO_MC_OPTION },
{ "no-meta-contexts", no_argument, NULL, NO_MC_OPTION },
{ "no-sr", no_argument, NULL, NO_SR_OPTION },
+ { "no-structured-replies", no_argument, NULL, NO_SR_OPTION },
{ "old-style", no_argument, NULL, 'o' },
{ "oldstyle", no_argument, NULL, 'o' },
{ "pid-file", required_argument, NULL, 'P' },
diff --git a/tests/test-synopsis.sh b/tests/test-synopsis.sh
index 59886847..f8d5bcc4 100755
--- a/tests/test-synopsis.sh
+++ b/tests/test-synopsis.sh
@@ -57,6 +57,7 @@ for i in $(nbdkit --long-options | $nocr); do
--ip-addr) ;; # alias of -i, --ipaddr
--new-style) ;; # alias of -n, --newstyle
--no-mc) ;; # alias of --no-meta-contexts
+ --no-sr) ;; # alias of --no-structured-replies
--old-style) ;; # alias of -o, --oldstyle
--pid-file) ;; # alias of -P, --pidfile
--read-only) ;; # alias of -r, --readonly
Reviewed-by: Richard W.M. Jones <rjones(a)redhat.com>
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW