summary refs log tree commit diff stats
path: root/nbd/common.c
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2017-10-27 12:40:26 +0200
committerEric Blake <eblake@redhat.com>2017-10-30 21:07:21 +0100
commite7a78d0eff820b56d33be31af1bb49e2948374fd (patch)
tree89887ad46bd17d537a529b25d448271124ac174b /nbd/common.c
parentabf6e752e55b2f5afb48303429dea2db7c3a62de (diff)
downloadfocaccia-qemu-e7a78d0eff820b56d33be31af1bb49e2948374fd.tar.gz
focaccia-qemu-e7a78d0eff820b56d33be31af1bb49e2948374fd.zip
nbd: Include error names in trace messages
NBD errors were originally sent over the wire based on Linux errno
values; but not all the world is Linux, and not all platforms share
the same values.  Since a number isn't very easy to decipher on all
platforms, update the trace messages to include the name of NBD
errors being sent/received over the wire.  Tweak the trace messages
to be at the point where we are using the NBD error, not the
translation to the host errno values.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20171027104037.8319-2-eblake@redhat.com>
Diffstat (limited to 'nbd/common.c')
-rw-r--r--nbd/common.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/nbd/common.c b/nbd/common.c
index 59a5316be9..7456021f7e 100644
--- a/nbd/common.c
+++ b/nbd/common.c
@@ -148,3 +148,26 @@ const char *nbd_cmd_lookup(uint16_t cmd)
         return "<unknown>";
     }
 }
+
+
+const char *nbd_err_lookup(int err)
+{
+    switch (err) {
+    case NBD_SUCCESS:
+        return "success";
+    case NBD_EPERM:
+        return "EPERM";
+    case NBD_EIO:
+        return "EIO";
+    case NBD_ENOMEM:
+        return "ENOMEM";
+    case NBD_EINVAL:
+        return "EINVAL";
+    case NBD_ENOSPC:
+        return "ENOSPC";
+    case NBD_ESHUTDOWN:
+        return "ESHUTDOWN";
+    default:
+        return "<unknown>";
+    }
+}