On Wed, Aug 02, 2023 at 08:50:45PM -0500, Eric Blake wrote:
We've previously documented that nbd_set_strict() can add new
bits,
defaulting to on to provide client-side safety, but which can be
overridden when performing specific integration tests against a
server. Prior to the introduction of libnbd support for extended
headers, a user could manually disable STRICT_FLAGS and
STRICT_COMMANDS to test the response of an older server receiving an
unexpected NBD_CMD_FLAG_PAYLOAD_LEN; but for convenience sake, we
prefer our default for that flag to now track extended headers and
ignore what the user passes in, which removes the ability we had for
that integration test. Adding a new strictness knob lets the user be
in charge of that bit's contents once again. The caveat remains that
disabling the strictness bits makes it possible for a client to
violate the NBD protocol which may have undefined results (the
connection may drop, libnbd may hang, ...), so most clients will never
call nbd_set_strict() in the first place.
Signed-off-by: Eric Blake <eblake(a)redhat.com>
---
I've pushed the remainder of this series (patches 21-25) as commits
6076a806..5c1dae92. 64-bit extension support should now be fully
functional in libnbd; although we may still push followup patches if
anything turns up during integration testing.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization:
qemu.org |
libguestfs.org