Displaying 15 results from an estimated 15 matches for "ocaml_exn_to_reply_with_error".
2017 Jul 19
2
Re: [PATCH 02/27] daemon: Allow parts of the daemon and APIs to be written in OCaml.
...e is up inside the guest.
> */
> @@ -1205,3 +1212,46 @@ cleanup_free_mountable (mountable_t *mountable)
> free (mountable->volume);
> }
> }
> +
> +/* Convert an OCaml exception to a reply_with_error_errno call
> + * as best we can.
> + */
> +extern void ocaml_exn_to_reply_with_error (const char *func, value exn);
> +
> +void
> +ocaml_exn_to_reply_with_error (const char *func, value exn)
> +{
Shouldn't this use CAMLparam1 + CAMLreturn?
> diff --git a/daemon/sysroot-c.c b/daemon/sysroot-c.c
> new file mode 100644
> index 000000000..ad31d36ee
> --- /...
2017 Jul 19
0
Re: [PATCH 02/27] daemon: Allow parts of the daemon and APIs to be written in OCaml.
...nd have 'f'
> use it:
>
> let f t fun arg =
> f (fun () -> fun arg)
I'm a bit confused, do you have a compilable example?
> > +/* Convert an OCaml exception to a reply_with_error_errno call
> > + * as best we can.
> > + */
> > +extern void ocaml_exn_to_reply_with_error (const char *func, value exn);
> > +
> > +void
> > +ocaml_exn_to_reply_with_error (const char *func, value exn)
> > +{
>
> Shouldn't this use CAMLparam1 + CAMLreturn?
It doesn't allocate on the OCaml heap so it should be safe.
> > +let udev_settle ?fil...
2017 Jul 14
0
[PATCH 04/27] daemon: Reimplement ‘vfs_type’ API in OCaml.
...g (
[["vfs_type"; "/dev/sdb1"]], "ext2"), []
diff --git a/generator/daemon.ml b/generator/daemon.ml
index ac410b733..121634806 100644
--- a/generator/daemon.ml
+++ b/generator/daemon.ml
@@ -524,6 +524,35 @@ let generate_daemon_caml_stubs () =
*/
extern void ocaml_exn_to_reply_with_error (const char *func, value exn);
+/* Implement String (Mountable, _) parameter. */
+static value
+copy_mountable (const mountable_t *mountable)
+{
+ CAMLparam0 ();
+ CAMLlocal4 (r, typev, devicev, volumev);
+
+ switch (mountable->type) {
+ case MOUNTABLE_DEVICE:
+ typev = Val_int (0); /*...
2017 Jul 20
2
Re: [PATCH 02/27] daemon: Allow parts of the daemon and APIs to be written in OCaml.
...res = Chroot.f chroot (fun () -> ...) in
than
let res = Chroot.f chroot (fun () -> ...) () in
This is mostly syntactic sugar.
> > > +/* Convert an OCaml exception to a reply_with_error_errno call
> > > + * as best we can.
> > > + */
> > > +extern void ocaml_exn_to_reply_with_error (const char *func, value exn);
> > > +
> > > +void
> > > +ocaml_exn_to_reply_with_error (const char *func, value exn)
> > > +{
> >
> > Shouldn't this use CAMLparam1 + CAMLreturn?
>
> It doesn't allocate on the OCaml heap so it should b...
2017 Jul 14
0
[PATCH 02/27] daemon: Allow parts of the daemon and APIs to be written in OCaml.
...length message which indicates that
* userspace is up inside the guest.
*/
@@ -1205,3 +1212,46 @@ cleanup_free_mountable (mountable_t *mountable)
free (mountable->volume);
}
}
+
+/* Convert an OCaml exception to a reply_with_error_errno call
+ * as best we can.
+ */
+extern void ocaml_exn_to_reply_with_error (const char *func, value exn);
+
+void
+ocaml_exn_to_reply_with_error (const char *func, value exn)
+{
+ const char *exn_name;
+
+ /* This is not the official way to do this, but I could not get the
+ * official way to work, and this way does work. See
+ * http://caml.inria.fr/pub/ml-archive...
2017 Jun 03
3
[PATCH 0/3]: daemon: Reimplement ‘file’ API in OCaml.
This patch series is just FYI at the moment. However it
does pass the tests.
The daemon is a self-contained program. We don't need to write it all
in C. Writing parts of it in OCaml would make it simpler and less
error-prone. In particular if the daemon was written in a more sane
programming language then we could move the inspection code to run
entirely inside the appliance, which would
2017 Jun 03
12
[PATCH v2 00/12] Allow APIs to be implemented in OCaml.
Version 1 was here:
https://www.redhat.com/archives/libguestfs/2017-June/msg00003.html
This patch series reimplements a few more APIs in OCaml, including
some very important core APIs like ?list_filesystems? and ?mount?.
All the tests pass after this.
The selection of APIs that I have moved may look a little random, but
in fact they are all APIs consumed by the inspection code (and some
more
2017 Jul 14
45
[PATCH 00/27] Reimplement many daemon APIs in OCaml.
Previously posted as part of the mega utilities/inspection
series here:
https://www.redhat.com/archives/libguestfs/2017-June/msg00232.html
What I've done is to extract just the parts related to rewriting
daemon APIs in OCaml, rebase them on top of the current master, fix a
few things, and recompile and test everything.
Rich.
2017 Jun 05
19
[PATCH v3 00/19] Allow APIs to be implemented in OCaml.
v2 was here:
https://www.redhat.com/archives/libguestfs/2017-June/msg00008.html
This series gets as far as a working (and faster) reimplementation of
‘guestfs_list_filesystems’.
I also have another patch series on top of this one which reimplements
the inspection APIs inside the daemon, but that needs a bit more work
still, since inspection turns out to be a very large piece of code.
Rich.
2017 Jun 12
32
[PATCH v5 00/32] Refactor utilities, implement some APIs in OCaml.
This is a combination of:
https://www.redhat.com/archives/libguestfs/2017-June/msg00046.html
[PATCH 00/12] Refactor utility functions.
plus:
https://www.redhat.com/archives/libguestfs/2017-June/msg00023.html
[PATCH v3 00/19] Allow APIs to be implemented in OCaml.
with the second patches rebased on top of the utility refactoring, and
some other adjustments and extensions.
This passes
2017 Jun 19
29
[PATCH v7 00/29] Reimplement inspection in the daemon.
v6 was posted here:
https://www.redhat.com/archives/libguestfs/2017-June/msg00103.html
and this requires the utilities refactoring posted here:
https://www.redhat.com/archives/libguestfs/2017-June/msg00169.html
Inspection is now complete[*], although not very well tested. I'm
intending to compare the output of many guests using old & new
virt-inspector to see if I can find any
2017 Jun 21
45
[PATCH v8 00/42] Refactor utilities and reimplement inspection.
v7 was:
https://www.redhat.com/archives/libguestfs/2017-June/msg00169.html
https://www.redhat.com/archives/libguestfs/2017-June/msg00184.html
I believe this addresses all comments received so far.
Also it now passes a test where I compared about 100 disk images
processed with old and new virt-inspector binaries. The output is
identical in all cases except one which is caused by a bug in blkid
2017 Jun 15
45
[PATCH v6 00/41] Refactor utilities, reimplement inspection in the daemon.
v5:
https://www.redhat.com/archives/libguestfs/2017-June/msg00065.html
Since v5, this now implements inspection almost completely for Linux
and Windows guests.
Rich.
2017 Jul 21
27
[PATCH v2 00/23] Reimplement many daemon APIs in OCaml.
...aemon.ml were made incrementally
through the patch series. Now these changes are moved into the
first patch. This wasn't quite straightforward because I also had
to move the static functions into a separate file so that bisection
wouldn't break.
- Related to previous change, move ocaml_exn_to_reply_with_error to
daemon/daemon-c.c, and rename it
guestfs_int_daemon_exn_to_reply_with_error.
- Move separate patches implementing optgroups and
CommandFlagFoldStdoutOnStderr into the first patch.
- daemon/Makefile.am: Deduplicate BUILT_SOURCES & generator_built vars.
- daemon/chroot.mli: In a comme...
2017 Jul 17
12
[PATCH v9 00/11] Reimplement inspection in the daemon.
This depends on the patch series
"[PATCH 00/27] Reimplement many daemon APIs in OCaml."
(https://www.redhat.com/archives/libguestfs/2017-July/msg00098.html)
v8 was posted here:
https://www.redhat.com/archives/libguestfs/2017-June/msg00274.html
v9:
- I split up the mega-patch into a more reviewable series of
smaller, incremental patches.
There are some other changes vs v8, but