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
signature.asc
Description: OpenPGP digital signature