nbd: treat EPIPE from NBD_DO_IT as success
This can be seen with "qemu-nbd -v -c", which returns 1 instead of 0 when you disconnect with "qemu-nbd -d". Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
4480de19d9
commit
74624688b3
7
nbd.c
7
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));
|
||||
|
Loading…
Reference in New Issue
Block a user