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.