On 27.08.26 19:09, Denis V. Lunev wrote:
NBD_CMD_CACHE carries no payload in either direction, yet the server
rejects any effect length above the advertised maximum payload size.
The specification explicitly allows the oversize request, and we
already accept it for NBD_CMD_TRIM and NBD_CMD_WRITE_ZEROES. Patch 2
drops the check.
The rest of the series adds tests/qemu-iotests/tests/nbd-commands, a
small client which speaks the NBD transmission phase itself. Nothing
in the tree does that today, so the protocol surface of the server -
reply modes, command flags, error codes, sparse and extended replies -
is covered only as far as our own client happens to exercise it. It is
useful both as coverage and as a regression tool.
Changes since v1:
- the libnbd handle now lives in setUp() and tearDown() instead of a
context manager entered by every test case, which drops a level of
indent everywhere (Vladimir)
- one block_status() helper returning a context to extents map, in
place of the three near identical extent collecting callbacks
(Vladimir)
- the unused callback arguments are named with a leading underscore,
so that iotest 297 stays pylint clean; v1 added eight
unused-argument warnings, which would have failed 297 wherever
pylint is installed
- Vladimir's Reviewed-by is kept on patch 2, which is unchanged, and
dropped from the four test patches, since the two points above
rewrote most of the test
v1:https://lore.kernel.org/qemu-devel/[email protected]/
Signed-off-by: Denis V. Lunev<[email protected]>
CC: Eric Blake<[email protected]>
CC: Vladimir Sementsov-Ogievskiy<[email protected]>
Thanks,
Reviewed-by: Vladimir Sementsov-Ogievskiy <[email protected]>
and applied to my block branch.
--
Best regards,
Vladimir