On 01/05/2012 02:16 PM, Stefan Hajnoczi wrote:
For some reason nbd_client_thread() has a do..while loop which can never
loop, the condition is bogus because we would take a goto instead.  Drop
the loop.

Reported-by: Dr David Alan Gilbert<davidagilb...@uk.ibm.com>
Signed-off-by: Stefan Hajnoczi<stefa...@linux.vnet.ibm.com>
---
  qemu-nbd.c |   10 ++++------
  1 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/qemu-nbd.c b/qemu-nbd.c
index 155b058..eb61c33 100644
--- a/qemu-nbd.c
+++ b/qemu-nbd.c
@@ -202,12 +202,10 @@ static void *nbd_client_thread(void *arg)
      int ret;
      pthread_t show_parts_thread;

-    do {
-        sock = unix_socket_outgoing(sockpath);
-        if (sock == -1) {
-            goto out;
-        }
-    } while (sock == -1);
+    sock = unix_socket_outgoing(sockpath);
+    if (sock == -1) {
+        goto out;
+    }

      ret = nbd_receive_negotiate(sock, NULL,&nbdflags,
                                  &size,&blocksize);

Reviewed-by: Paolo Bonzini <pbonz...@redhat.com>

It used to loop until commit f1ef555. When I simplified the loop I failed to actually remove it.

I suppose it will get in through your trivial patches tree, won't it?

Paolo

Reply via email to