[Libguestfs] [nbdkit PATCH] ocaml: Map more errno values
Richard W.M. Jones
rjones at redhat.com
Fri Aug 16 17:24:03 UTC 2019
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 at 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
More information about the Libguestfs
mailing list