On Tue, Feb 9, 2021 at 5:28 PM Eric Blake <ebl...@redhat.com> wrote: > > This gives us better feature parity with QMP nbd-server-start, where > max-connections defaults to 0 for unlimited.
Sound useful > Signed-off-by: Eric Blake <ebl...@redhat.com> > --- > docs/tools/qemu-nbd.rst | 4 ++-- > qemu-nbd.c | 7 +++---- > 2 files changed, 5 insertions(+), 6 deletions(-) > > diff --git a/docs/tools/qemu-nbd.rst b/docs/tools/qemu-nbd.rst > index fe41336dc550..ee862fa0bc02 100644 > --- a/docs/tools/qemu-nbd.rst > +++ b/docs/tools/qemu-nbd.rst > @@ -136,8 +136,8 @@ driver options if ``--image-opts`` is specified. > .. option:: -e, --shared=NUM > > Allow up to *NUM* clients to share the device (default > - ``1``). Safe for readers, but for now, consistency is not > - guaranteed between multiple writers. > + ``1``), 0 for unlimited. Safe for readers, but for now, > + consistency is not guaranteed between multiple writers. > > .. option:: -t, --persistent > > diff --git a/qemu-nbd.c b/qemu-nbd.c > index 1a340ea4858d..5416509ece18 100644 > --- a/qemu-nbd.c > +++ b/qemu-nbd.c > @@ -328,7 +328,7 @@ static void *nbd_client_thread(void *arg) > > static int nbd_can_accept(void) > { > - return state == RUNNING && nb_fds < shared; > + return state == RUNNING && (shared == 0 || nb_fds < shared); > } > > static void nbd_update_server_watch(void); > @@ -706,8 +706,8 @@ int main(int argc, char **argv) > device = optarg; > break; > case 'e': > if (qemu_strtoi(optarg, NULL, 0, &shared) < 0 || > - shared < 1) { > + shared < 0) { > error_report("Invalid shared device number '%s'", optarg); > exit(EXIT_FAILURE); > } > @@ -966,7 +965,7 @@ int main(int argc, char **argv) > if (socket_activation == 0) { > int backlog; > > - if (persistent) { > + if (persistent || shared == 0) { > backlog = SOMAXCONN; > } else { > backlog = MIN(shared, SOMAXCONN); > -- > 2.30.0 > Reviewed-by: Nir Soffer <nsof...@redhat.com>