summary refs log tree commit diff stats
path: root/qemu-nbd.c
diff options
context:
space:
mode:
authorFam Zheng <famz@redhat.com>2016-01-14 16:41:01 +0800
committerPaolo Bonzini <pbonzini@redhat.com>2016-01-15 18:58:01 +0100
commitee7d7aabdaea4484e069cb99c9fc54e8cb24b56f (patch)
treeda85bcfd0c1092c266629d6afd9d75d59c98eea0 /qemu-nbd.c
parente1dc68155cafabfd6a065391f7826d5d0992b46e (diff)
downloadfocaccia-qemu-ee7d7aabdaea4484e069cb99c9fc54e8cb24b56f.tar.gz
focaccia-qemu-ee7d7aabdaea4484e069cb99c9fc54e8cb24b56f.zip
nbd: Always call "close_fn" in nbd_client_new
Rename the parameter "close" to "close_fn" to disambiguous with
close(2).

This unifies error handling paths of NBDClient allocation:
nbd_client_new will shutdown the socket and call the "close_fn" callback
if negotiation failed, so the caller don't need a different path than
the normal close.

The returned pointer is never used, make it void in preparation for the
next patch.

Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <1452760863-25350-2-git-send-email-famz@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'qemu-nbd.c')
-rw-r--r--qemu-nbd.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/qemu-nbd.c b/qemu-nbd.c
index a4cf847976..ede4a54d4e 100644
--- a/qemu-nbd.c
+++ b/qemu-nbd.c
@@ -333,13 +333,9 @@ static void nbd_accept(void *opaque)
         return;
     }
 
-    if (nbd_client_new(exp, fd, nbd_client_closed)) {
-        nb_fds++;
-        nbd_update_server_fd_handler(server_fd);
-    } else {
-        shutdown(fd, 2);
-        close(fd);
-    }
+    nb_fds++;
+    nbd_update_server_fd_handler(server_fd);
+    nbd_client_new(exp, fd, nbd_client_closed);
 }
 
 static void nbd_update_server_fd_handler(int fd)