qemu/tests/qemu-iotests/083.out
Vladimir Sementsov-Ogievskiy d8b4bad846 block/nbd-client: use traces instead of noisy error_report_err
Reduce extra noise of nbd-client, change 083 correspondingly.

In various commits (be41c100 in 2.10, f140e300 in 2.11, 78a33ab
in 2.12), we added spots where qemu as an NBD client would report
problems communicating with the server to stderr, because there
was no where else to send the error to.  However, this is racy,
particularly since the most common source of these errors is when
either the client or the server abruptly hangs up, leaving one
coroutine to report the error only if it wins (or loses) the
race in attempting the read from the server before another
thread completes its cleanup of a protocol error that caused the
disconnect in the first place.  The race is also apparent in the
fact that differences in the flush behavior of the server can
alter the frequency of encountering the race in the client (see
commit 6d39db96).

Rather than polluting stderr, it's better to just trace these
situations, for use by developers debugging a flaky connection,
particularly since the real error that either triggers the abrupt
disconnection in the first place, or that results from the EIO
when a request can't receive a reply, DOES make it back to the
user in the normal Error propagation channels.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20181102151152.288399-4-vsementsov@virtuozzo.com>
[eblake: drop depedence on error hint, enhance commit message]
Signed-off-by: Eric Blake <eblake@redhat.com>
2019-01-04 17:34:58 -06:00

221 lines
4.6 KiB
Plaintext

QA output created by 083
=== Check disconnect before neg1 ===
can't open device nbd+tcp://127.0.0.1:PORT/foo
=== Check disconnect after neg1 ===
can't open device nbd+tcp://127.0.0.1:PORT/foo
=== Check disconnect 8 neg1 ===
can't open device nbd+tcp://127.0.0.1:PORT/foo
=== Check disconnect 16 neg1 ===
can't open device nbd+tcp://127.0.0.1:PORT/foo
=== Check disconnect before export ===
can't open device nbd+tcp://127.0.0.1:PORT/foo
=== Check disconnect after export ===
can't open device nbd+tcp://127.0.0.1:PORT/foo
=== Check disconnect 4 export ===
can't open device nbd+tcp://127.0.0.1:PORT/foo
=== Check disconnect 12 export ===
can't open device nbd+tcp://127.0.0.1:PORT/foo
=== Check disconnect 16 export ===
can't open device nbd+tcp://127.0.0.1:PORT/foo
=== Check disconnect before neg2 ===
can't open device nbd+tcp://127.0.0.1:PORT/foo
=== Check disconnect after neg2 ===
read failed: Input/output error
=== Check disconnect 8 neg2 ===
can't open device nbd+tcp://127.0.0.1:PORT/foo
=== Check disconnect 10 neg2 ===
can't open device nbd+tcp://127.0.0.1:PORT/foo
=== Check disconnect before request ===
read failed: Input/output error
=== Check disconnect after request ===
read failed: Input/output error
=== Check disconnect before reply ===
read failed: Input/output error
=== Check disconnect after reply ===
read failed: Input/output error
=== Check disconnect 4 reply ===
read failed: Input/output error
=== Check disconnect 8 reply ===
read failed: Input/output error
=== Check disconnect before data ===
read failed: Input/output error
=== Check disconnect after data ===
read 512/512 bytes at offset 0
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
=== Check disconnect before neg-classic ===
can't open device nbd+tcp://127.0.0.1:PORT/
=== Check disconnect 8 neg-classic ===
can't open device nbd+tcp://127.0.0.1:PORT/
=== Check disconnect 16 neg-classic ===
can't open device nbd+tcp://127.0.0.1:PORT/
=== Check disconnect 24 neg-classic ===
can't open device nbd+tcp://127.0.0.1:PORT/
=== Check disconnect 28 neg-classic ===
can't open device nbd+tcp://127.0.0.1:PORT/
=== Check disconnect after neg-classic ===
read failed: Input/output error
=== Check disconnect before neg1 ===
can't open device nbd+unix:///foo?socket=TEST_DIR/nbd.sock
=== Check disconnect after neg1 ===
can't open device nbd+unix:///foo?socket=TEST_DIR/nbd.sock
=== Check disconnect 8 neg1 ===
can't open device nbd+unix:///foo?socket=TEST_DIR/nbd.sock
=== Check disconnect 16 neg1 ===
can't open device nbd+unix:///foo?socket=TEST_DIR/nbd.sock
=== Check disconnect before export ===
can't open device nbd+unix:///foo?socket=TEST_DIR/nbd.sock
=== Check disconnect after export ===
can't open device nbd+unix:///foo?socket=TEST_DIR/nbd.sock
=== Check disconnect 4 export ===
can't open device nbd+unix:///foo?socket=TEST_DIR/nbd.sock
=== Check disconnect 12 export ===
can't open device nbd+unix:///foo?socket=TEST_DIR/nbd.sock
=== Check disconnect 16 export ===
can't open device nbd+unix:///foo?socket=TEST_DIR/nbd.sock
=== Check disconnect before neg2 ===
can't open device nbd+unix:///foo?socket=TEST_DIR/nbd.sock
=== Check disconnect after neg2 ===
read failed: Input/output error
=== Check disconnect 8 neg2 ===
can't open device nbd+unix:///foo?socket=TEST_DIR/nbd.sock
=== Check disconnect 10 neg2 ===
can't open device nbd+unix:///foo?socket=TEST_DIR/nbd.sock
=== Check disconnect before request ===
read failed: Input/output error
=== Check disconnect after request ===
read failed: Input/output error
=== Check disconnect before reply ===
read failed: Input/output error
=== Check disconnect after reply ===
read failed: Input/output error
=== Check disconnect 4 reply ===
read failed: Input/output error
=== Check disconnect 8 reply ===
read failed: Input/output error
=== Check disconnect before data ===
read failed: Input/output error
=== Check disconnect after data ===
read 512/512 bytes at offset 0
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
=== Check disconnect before neg-classic ===
can't open device nbd+unix:///?socket=TEST_DIR/nbd.sock
=== Check disconnect 8 neg-classic ===
can't open device nbd+unix:///?socket=TEST_DIR/nbd.sock
=== Check disconnect 16 neg-classic ===
can't open device nbd+unix:///?socket=TEST_DIR/nbd.sock
=== Check disconnect 24 neg-classic ===
can't open device nbd+unix:///?socket=TEST_DIR/nbd.sock
=== Check disconnect 28 neg-classic ===
can't open device nbd+unix:///?socket=TEST_DIR/nbd.sock
=== Check disconnect after neg-classic ===
read failed: Input/output error
*** done