[PATCH 0/2] nbd/client-connection: Fix client returning a closed channel

Guillaume Vincke posted 2 patches 1 day, 2 hours ago
nbd/client-connection.c                       | 35 +++++++++++
tests/qemu-iotests/tests/nbd-stale-connection | 62 +++++++++++++++++++
.../tests/nbd-stale-connection.out            | 17 +++++
3 files changed, 114 insertions(+)
create mode 100755 tests/qemu-iotests/tests/nbd-stale-connection
create mode 100644 tests/qemu-iotests/tests/nbd-stale-connection.out
[PATCH 0/2] nbd/client-connection: Fix client returning a closed channel
Posted by Guillaume Vincke 1 day, 2 hours ago
NBD client relies on lazy reconnection on error. There is a case where
nbd_co_establish_connection() will hand back a channel disconnected by
its peer. This leads to the request running on the dead channel. When
reconnect-delay is set to 0 (the default), this bug prevents the
nbd-connect thread from running on the first operation. This patch set
addresses this specific case.

Found while searching for a way to force client reconnection to simplify
the resize of idle nodes which will be the subject of another patch set.

Guillaume Vincke (2):
  nbd/client-connection: Fix client returning a closed channel
  iotests: Add coverage for NBD connect thread start delay

 nbd/client-connection.c                       | 35 +++++++++++
 tests/qemu-iotests/tests/nbd-stale-connection | 62 +++++++++++++++++++
 .../tests/nbd-stale-connection.out            | 17 +++++
 3 files changed, 114 insertions(+)
 create mode 100755 tests/qemu-iotests/tests/nbd-stale-connection
 create mode 100644 tests/qemu-iotests/tests/nbd-stale-connection.out


base-commit: 3876503faff51ce3a132dbbd0ab42c10f2269319
-- 
2.43.0