[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 2/2] qemu-nbd: Permit --shared=0 for unlimited clients
From: |
Nir Soffer |
Subject: |
Re: [PATCH v3 2/2] qemu-nbd: Permit --shared=0 for unlimited clients |
Date: |
Wed, 10 Feb 2021 23:05:36 +0200 |
On Tue, Feb 9, 2021 at 5:28 PM Eric Blake <eblake@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 <eblake@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 <nsoffer@redhat.com>