summaryrefslogtreecommitdiffstats
path: root/qemu-nbd.c
diff options
context:
space:
mode:
authorEric Blake2021-02-09 16:27:59 +0100
committerEric Blake2021-02-12 14:42:08 +0100
commit3dcf56e625c684178c0062d845f9fe05ecce346f (patch)
treed117ef75bc8369503536b489a207e04fd22ad0dc /qemu-nbd.c
parentqemu-nbd: Use SOMAXCONN for socket listen() backlog (diff)
downloadqemu-3dcf56e625c684178c0062d845f9fe05ecce346f.tar.gz
qemu-3dcf56e625c684178c0062d845f9fe05ecce346f.tar.xz
qemu-3dcf56e625c684178c0062d845f9fe05ecce346f.zip
qemu-nbd: Permit --shared=0 for unlimited clients
This gives us better feature parity with QMP nbd-server-start, where max-connections defaults to 0 for unlimited. Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <20210209152759.209074-3-eblake@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Diffstat (limited to 'qemu-nbd.c')
-rw-r--r--qemu-nbd.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/qemu-nbd.c b/qemu-nbd.c
index 1a340ea485..b1b9430a8f 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);
@@ -707,7 +707,7 @@ int main(int argc, char **argv)
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 +966,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);