On Fri, Aug 16, 2019 at 08:29:28AM -0500, Eric Blake wrote:
--- a/plugins/ocaml/ocaml.c
+++ b/plugins/ocaml/ocaml.c
@@ -849,12 +849,19 @@ ocaml_nbdkit_set_error (value nv)
int err;
switch (Int_val (nv)) {
+ /* On-the-wire values */
Not sure about this comment. The values on the left match the values
in NBDKit.ml's ‘set_error’ function, and are basically internal to the
OCaml bindings. The values on the right are from <errno.h> and AIUI
they might be unrelated to what is sent on the wire (especially on
non-Linux).
Nevertheless the implementation is still correct, so ACK.
Rich.
case 1: err = EPERM; break;
case 2: err = EIO; break;
case 3: err = ENOMEM; break;
case 4: err = EINVAL; break;
case 5: err = ENOSPC; break;
case 6: err = ESHUTDOWN; break;
+ case 7: err = EOVERFLOW; break;
+ /* Necessary for .zero support */
+ case 8: err = ENOTSUP; break;
+ /* Other errno that server/protocol.c treats specially */
+ case 9: err = EROFS; break;
+ case 10: err = EFBIG; break;
default: abort ();
}
diff --git a/plugins/ocaml/NBDKit.ml b/plugins/ocaml/NBDKit.ml
index 68d15836..e54a7705 100644
--- a/plugins/ocaml/NBDKit.ml
+++ b/plugins/ocaml/NBDKit.ml
@@ -267,6 +267,10 @@ let set_error unix_error =
| Unix.EINVAL -> 4
| Unix.ENOSPC -> 5
| Unix.ESHUTDOWN -> 6
+ | Unix.EOVERFLOW -> 7
+ | Unix.EOPNOTSUPP -> 8
+ | Unix.EROFS -> 9
+ | Unix.EFBIG -> 10
| _ -> 4 (* EINVAL *) in
_set_error nbd_error
--
2.20.1
_______________________________________________
Libguestfs mailing list
Libguestfs(a)redhat.com
https://www.redhat.com/mailman/listinfo/libguestfs
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW