On 10/09/2018 10:33 PM, John Snow wrote: > > > On 09/17/2018 11:26 AM, Vladimir Sementsov-Ogievskiy wrote: >> ping >> > > Is this still pending or did I/we miss a v5?
still pending > >> 31.07.2018 20:30, Vladimir Sementsov-Ogievskiy wrote: >>> Hi all. >>> >>> Here is NBD reconnect. Previously, if connection failed all current >>> and future requests will fail. After the series, nbd-client driver >>> will try to reconnect unlimited times. During first @reconnect-delay >>> seconds of reconnecting all requests will wait for the connection, >>> and if it is established requests will be resent. After >>> @reconnect-delay period all requests will be failed (until successful >>> reconnect). >>> >>> v4: - add Eric's r-b to 01. >>> - drop CONNECTING_INIT mode, don't reconnect on _open. >>> - new api: only one parameter @reconnect-delay >>> - new interval scheme between reconnect attempts >>> (1 - 2 - 4 - 8 - 16 - 16 ... seconds) >>> - fixes and refactorings in main patch (09), including merge with >>> old 08 patch >>> >>> v3: >>> 06: fix build error in function 'nbd_co_send_request': >>> error: 'i' may be used uninitialized in this function >>> >>> v2 notes: >>> 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). >>> >>> Vladimir Sementsov-Ogievskiy (10): >>> 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: add cmdline and qapi parameter reconnect-delay >>> block/nbd-client: nbd reconnect >>> iotests: test nbd reconnect >>> >>> qapi/block-core.json | 12 +- >>> block/nbd-client.h | 20 +- >>> block/nbd-client.c | 515 >>> +++++++++++++++++++++++++++++++----------- >>> block/nbd.c | 56 ++--- >>> tests/qemu-iotests/220 | 67 ++++++ >>> tests/qemu-iotests/220.out | 7 + >>> tests/qemu-iotests/group | 1 + >>> tests/qemu-iotests/iotests.py | 4 + >>> 8 files changed, 512 insertions(+), 170 deletions(-) >>> create mode 100755 tests/qemu-iotests/220 >>> create mode 100644 tests/qemu-iotests/220.out >>> >> >>