[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH v2 00/11] NBD reconnect
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[Qemu-block] [PATCH v2 00/11] NBD reconnect |
Date: |
Thu, 7 Jun 2018 20:14:30 +0300 |
Hi all.
Here is v2 of NBD reconnect, but it is very very different from v1, so,
forget about v1.
The series includes my "NBD reconnect: preliminary refactoring", with
changes in 05: leave asserts (Eric).
The feature realized inside nbd-client driver and works as follows:
There are two parameters: reconnect-attempts and reconnect-timeout.
So, we will try to reconnect in case of initial connection failed or
in case of connection lost. All current and new io operations will wait
until we make reconnect-attempts tries to reconnect. After this, all
requests will fail with EIO, but we will continue trying to reconnect.
Vladimir Sementsov-Ogievskiy (11):
block/nbd-client: split channel errors from export errors
block/nbd: move connection code from block/nbd to block/nbd-client
block/nbd-client: split connection from initialization
block/nbd-client: fix nbd_reply_chunk_iter_receive
block/nbd-client: don't check ioc
block/nbd-client: move from quit to state
block/nbd-client: rename read_reply_co to connection_co
block/nbd-client: move connecting to connection_co
block/nbd: add cmdline and qapi parameters for nbd reconnect
block/nbd-client: nbd reconnect
iotests: test nbd reconnect
qapi/block-core.json | 12 +-
block/nbd-client.h | 23 ++-
block/nbd-client.c | 421 ++++++++++++++++++++++++++++++------------
block/nbd.c | 61 +++---
tests/qemu-iotests/220 | 68 +++++++
tests/qemu-iotests/220.out | 7 +
tests/qemu-iotests/group | 1 +
tests/qemu-iotests/iotests.py | 4 +
8 files changed, 440 insertions(+), 157 deletions(-)
create mode 100755 tests/qemu-iotests/220
create mode 100644 tests/qemu-iotests/220.out
--
2.11.1
- [Qemu-block] [PATCH v2 00/11] NBD reconnect,
Vladimir Sementsov-Ogievskiy <=
- [Qemu-block] [PATCH v2 09/11] block/nbd: add cmdline and qapi parameters for nbd reconnect, Vladimir Sementsov-Ogievskiy, 2018/06/07
- [Qemu-block] [PATCH v2 06/11] block/nbd-client: move from quit to state, Vladimir Sementsov-Ogievskiy, 2018/06/07
- [Qemu-block] [PATCH v2 04/11] block/nbd-client: fix nbd_reply_chunk_iter_receive, Vladimir Sementsov-Ogievskiy, 2018/06/07
- [Qemu-block] [PATCH v2 03/11] block/nbd-client: split connection from initialization, Vladimir Sementsov-Ogievskiy, 2018/06/07
- [Qemu-block] [PATCH v2 05/11] block/nbd-client: don't check ioc, Vladimir Sementsov-Ogievskiy, 2018/06/07
- [Qemu-block] [PATCH v2 07/11] block/nbd-client: rename read_reply_co to connection_co, Vladimir Sementsov-Ogievskiy, 2018/06/07
- [Qemu-block] [PATCH v2 08/11] block/nbd-client: move connecting to connection_co, Vladimir Sementsov-Ogievskiy, 2018/06/07
- [Qemu-block] [PATCH v2 02/11] block/nbd: move connection code from block/nbd to block/nbd-client, Vladimir Sementsov-Ogievskiy, 2018/06/07
- [Qemu-block] [PATCH v2 01/11] block/nbd-client: split channel errors from export errors, Vladimir Sementsov-Ogievskiy, 2018/06/07
- [Qemu-block] [PATCH v2 11/11] iotests: test nbd reconnect, Vladimir Sementsov-Ogievskiy, 2018/06/07