summaryrefslogtreecommitdiff
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
parentf57e2416aaeb39c32946d282768ece7ff619b423 (diff)
downloadqemu-f3c32fce3688fe1f13ceb0777faa1fc19d66d1fc.zip
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>
-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;
}
}