summaryrefslogtreecommitdiff
path: root/nbd
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2016-05-11 16:39:43 -0600
committerPaolo Bonzini <pbonzini@redhat.com>2016-06-16 18:39:05 +0200
commitf3c32fce3688fe1f13ceb0777faa1fc19d66d1fc (patch)
tree6a4bd762166ec0f04b4d214d44d2e6f0bddfa1d6 /nbd
parentf57e2416aaeb39c32946d282768ece7ff619b423 (diff)
downloadqemu-f3c32fce3688fe1f13ceb0777faa1fc19d66d1fc.tar.gz
nbd: Detect servers that send unexpected error values
Add some debugging to flag servers that are not compliant to the NBD protocol. This would have flagged the server bug fixed in commit c0301fcc. Signed-off-by: Eric Blake <eblake@redhat.com> Reviewed-by: Alex Bligh <alex@alex.org.uk> Message-Id: <1463006384-7734-11-git-send-email-eblake@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'nbd')
-rw-r--r--nbd/client.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/nbd/client.c b/nbd/client.c
index 20e6daf70f..e8bf9fb540 100644
--- a/nbd/client.c
+++ b/nbd/client.c
@@ -33,8 +33,10 @@ static int nbd_errno_to_system_errno(int err)
return ENOMEM;
case NBD_ENOSPC:
return ENOSPC;
- case NBD_EINVAL:
default:
+ TRACE("Squashing unexpected error %d to EINVAL", err);
+ /* fallthrough */
+ case NBD_EINVAL:
return EINVAL;
}
}