[Qemu-devel] [PATCH v8 0/3] NBD reconnect

Vladimir Sementsov-Ogievskiy posted 3 patches 4 years, 8 months ago
Test docker-clang@ubuntu passed
Test FreeBSD passed
Test docker-mingw@fedora passed
Test checkpatch passed
Failed in applying to current master (apply log)
There is a newer version of this series
include/qemu/coroutine.h      |  17 +-
block/nbd.c                   | 335 +++++++++++++++++++++++++++-------
block/null.c                  |   2 +-
block/sheepdog.c              |   2 +-
tests/test-bdrv-drain.c       |   6 +-
tests/test-block-iothread.c   |   2 +-
util/qemu-coroutine-sleep.c   |  47 +++--
tests/qemu-iotests/264        |  65 +++++++
tests/qemu-iotests/264.out    |  12 ++
tests/qemu-iotests/group      |   1 +
tests/qemu-iotests/iotests.py |   4 +
11 files changed, 408 insertions(+), 85 deletions(-)
create mode 100755 tests/qemu-iotests/264
create mode 100644 tests/qemu-iotests/264.out
[Qemu-devel] [PATCH v8 0/3] NBD reconnect
Posted by Vladimir Sementsov-Ogievskiy 4 years, 8 months ago
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).

v8:
preparations are already merged [thx to Eric], old 07 with SI_* constants
dropped [Peter]
02: - use NANOSECONDS_PER_SECOND
03: - move to tests/qemu-iotests/264
    - limit job speed, otherwise it fails on ramfs as backup finishes too early

v7:
almost all: rebased on merged nbd.c and nbd-client.c (including patch subject)
01-04: add Eric's r-b
04: wording
05: new
06: rewrite to remove timer earlier
07: new
08:
 - rebase on 05 and 07
 - drop "All rights reserved"
 - handle drain
 - improve handling aio context attach
09: move 249 -> 257

Vladimir Sementsov-Ogievskiy (3):
  qemu-coroutine-sleep: introduce qemu_co_sleep_wake
  block/nbd: nbd reconnect
  iotests: test nbd reconnect

 include/qemu/coroutine.h      |  17 +-
 block/nbd.c                   | 335 +++++++++++++++++++++++++++-------
 block/null.c                  |   2 +-
 block/sheepdog.c              |   2 +-
 tests/test-bdrv-drain.c       |   6 +-
 tests/test-block-iothread.c   |   2 +-
 util/qemu-coroutine-sleep.c   |  47 +++--
 tests/qemu-iotests/264        |  65 +++++++
 tests/qemu-iotests/264.out    |  12 ++
 tests/qemu-iotests/group      |   1 +
 tests/qemu-iotests/iotests.py |   4 +
 11 files changed, 408 insertions(+), 85 deletions(-)
 create mode 100755 tests/qemu-iotests/264
 create mode 100644 tests/qemu-iotests/264.out

-- 
2.18.0


Re: [Qemu-devel] [PATCH v8 0/3] NBD reconnect
Posted by Vladimir Sementsov-Ogievskiy 4 years, 7 months ago
ping

21.08.2019 19:52, 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).
> 
> v8:
> preparations are already merged [thx to Eric], old 07 with SI_* constants
> dropped [Peter]
> 02: - use NANOSECONDS_PER_SECOND
> 03: - move to tests/qemu-iotests/264
>      - limit job speed, otherwise it fails on ramfs as backup finishes too early
> 
> v7:
> almost all: rebased on merged nbd.c and nbd-client.c (including patch subject)
> 01-04: add Eric's r-b
> 04: wording
> 05: new
> 06: rewrite to remove timer earlier
> 07: new
> 08:
>   - rebase on 05 and 07
>   - drop "All rights reserved"
>   - handle drain
>   - improve handling aio context attach
> 09: move 249 -> 257
> 
> Vladimir Sementsov-Ogievskiy (3):
>    qemu-coroutine-sleep: introduce qemu_co_sleep_wake
>    block/nbd: nbd reconnect
>    iotests: test nbd reconnect
> 
>   include/qemu/coroutine.h      |  17 +-
>   block/nbd.c                   | 335 +++++++++++++++++++++++++++-------
>   block/null.c                  |   2 +-
>   block/sheepdog.c              |   2 +-
>   tests/test-bdrv-drain.c       |   6 +-
>   tests/test-block-iothread.c   |   2 +-
>   util/qemu-coroutine-sleep.c   |  47 +++--
>   tests/qemu-iotests/264        |  65 +++++++
>   tests/qemu-iotests/264.out    |  12 ++
>   tests/qemu-iotests/group      |   1 +
>   tests/qemu-iotests/iotests.py |   4 +
>   11 files changed, 408 insertions(+), 85 deletions(-)
>   create mode 100755 tests/qemu-iotests/264
>   create mode 100644 tests/qemu-iotests/264.out
> 


-- 
Best regards,
Vladimir
[Qemu-devel] ping Re: [PATCH v8 0/3] NBD reconnect
Posted by Vladimir Sementsov-Ogievskiy 4 years, 7 months ago
ping

21.08.2019 19:52, 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).
> 
> v8:
> preparations are already merged [thx to Eric], old 07 with SI_* constants
> dropped [Peter]
> 02: - use NANOSECONDS_PER_SECOND
> 03: - move to tests/qemu-iotests/264
>      - limit job speed, otherwise it fails on ramfs as backup finishes too early
> 
> v7:
> almost all: rebased on merged nbd.c and nbd-client.c (including patch subject)
> 01-04: add Eric's r-b
> 04: wording
> 05: new
> 06: rewrite to remove timer earlier
> 07: new
> 08:
>   - rebase on 05 and 07
>   - drop "All rights reserved"
>   - handle drain
>   - improve handling aio context attach
> 09: move 249 -> 257
> 
> Vladimir Sementsov-Ogievskiy (3):
>    qemu-coroutine-sleep: introduce qemu_co_sleep_wake
>    block/nbd: nbd reconnect
>    iotests: test nbd reconnect
> 
>   include/qemu/coroutine.h      |  17 +-
>   block/nbd.c                   | 335 +++++++++++++++++++++++++++-------
>   block/null.c                  |   2 +-
>   block/sheepdog.c              |   2 +-
>   tests/test-bdrv-drain.c       |   6 +-
>   tests/test-block-iothread.c   |   2 +-
>   util/qemu-coroutine-sleep.c   |  47 +++--
>   tests/qemu-iotests/264        |  65 +++++++
>   tests/qemu-iotests/264.out    |  12 ++
>   tests/qemu-iotests/group      |   1 +
>   tests/qemu-iotests/iotests.py |   4 +
>   11 files changed, 408 insertions(+), 85 deletions(-)
>   create mode 100755 tests/qemu-iotests/264
>   create mode 100644 tests/qemu-iotests/264.out
> 


-- 
Best regards,
Vladimir