On 4/11/19 12:27 PM, Vladimir Sementsov-Ogievskiy wrote:
> Reconnect will be implemented in the following commit, so for now,
> in semantics below, disconnect itself is a "serious error".
> 
> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com>
> ---
>  qapi/block-core.json | 12 +++++++++++-
>  block/nbd-client.h   |  1 +
>  block/nbd-client.c   |  1 +
>  block/nbd.c          | 16 +++++++++++++++-
>  4 files changed, 28 insertions(+), 2 deletions(-)
> 
> diff --git a/qapi/block-core.json b/qapi/block-core.json
> index 7ccbfff9d0..815258bd89 100644
> --- a/qapi/block-core.json
> +++ b/qapi/block-core.json
> @@ -3798,13 +3798,23 @@
>  #                  traditional "base:allocation" block status (see
>  #                  NBD_OPT_LIST_META_CONTEXT in the NBD protocol) (since 3.0)
>  #
> +# @reconnect-delay: Reconnect delay. On unexpected disconnect, nbd client 
> tries
> +#                   to connect again, until success or serious error. During
> +#                   first @reconnect-delay seconds of reconnecting loop all
> +#                   requests are paused and have a chance to rerun, if
> +#                   successful connect occurs during this time. After
> +#                   @reconnect-delay seconds all delayed requests are failed
> +#                   and all following requests will be failed too (until
> +#                   successful reconnect). Default 0 (Since 4.1)

Maybe:

On an unexpected disconnect, the nbd client tries to connect again until
succeeding or encountering a serious error.  During the first
@reconnect-delay seconds, all requests are paused and will be rerun on a
successful reconnect. After that time, any delayed requests and all
future requests before a successful reconnect will immediately fail.


> +++ b/block/nbd.c
> @@ -360,6 +360,18 @@ static QemuOptsList nbd_runtime_opts = {
>              .help = "experimental: expose named dirty bitmap in place of "
>                      "block status",
>          },
> +        {
> +            .name = "reconnect-delay",
> +            .type = QEMU_OPT_NUMBER,
> +            .help = "Reconnect delay. On unexpected disconnect, nbd client "
> +                    "tries to connect again, until success or serious error. 
> "
> +                    "During first @reconnect-delay seconds of reconnecting "
> +                    "loop all requests are paused and have a chance to 
> rerun, "
> +                    "if successful connect occurs during this time. After"
> +                    "@reconnect-delay seconds all delayed requests are 
> failed"
> +                    "and all following requests will be failed too (until"
> +                    "successful reconnect). Default 0",

And of course copy any changes to the QMP text to here.

I can touch up grammar, so if there's no other reason to respin,

Reviewed-by: Eric Blake <ebl...@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to