On Wed, Feb 26, 2014 at 03:30:17PM +0100, Stefan Hajnoczi wrote:
v2:
* Use qemu-iotests 083 test number to avoid conflicts [kwolf]
* Test class negotiation without export name [lupine]
* Test short replies from the server [lupine]
The first patch ensures the nbd_receive_reply() fd handler is unregistered when
the connection to the server breaks. This avoids high CPU consumption and
flooding error messages.
The second patch introduces an NBD server fault injection script. Using this
fake NBD server it is possible to exercise error handling code paths in the NBD
client.
The third patch adds qemu-iotests test case 083 to verify qemu-io exits with an
error at each point where the connection can break.
Stefan Hajnoczi (3):
nbd: close socket if connection breaks
tests: add nbd-fault-injector.py utility
qemu-iotests: add 083 NBD client disconnect tests
block/nbd-client.c | 33 ++--
tests/qemu-iotests/083 | 129 +++++++++++++++
tests/qemu-iotests/083.out | 163 +++++++++++++++++++
tests/qemu-iotests/group | 1 +
tests/qemu-iotests/nbd-fault-injector.py | 264 +++++++++++++++++++++++++++++++
5 files changed, 575 insertions(+), 15 deletions(-)
create mode 100755 tests/qemu-iotests/083
create mode 100644 tests/qemu-iotests/083.out
create mode 100755 tests/qemu-iotests/nbd-fault-injector.py
Ping? I'd like to get this fix into 2.0.