]> git.proxmox.com Git - qemu.git/blobdiff - nbd.c
fix spelling in libcacard sub directory
[qemu.git] / nbd.c
diff --git a/nbd.c b/nbd.c
index fb5e424abe9d2120a353049e87970d7176ad36fc..e6c931c5ceed95387dd7455bfb2110a23a96caf7 100644 (file)
--- a/nbd.c
+++ b/nbd.c
@@ -425,6 +425,13 @@ int nbd_client(int fd)
     TRACE("Doing NBD loop");
 
     ret = ioctl(fd, NBD_DO_IT);
+    if (ret == -1 && errno == EPIPE) {
+        /* NBD_DO_IT normally returns EPIPE when someone has disconnected
+         * the socket via NBD_DISCONNECT.  We do not want to return 1 in
+         * that case.
+         */
+        ret = 0;
+    }
     serrno = errno;
 
     TRACE("NBD loop returned %d: %s", ret, strerror(serrno));