[Libguestfs] [PATCH virt-v2v 1/2] output: Permit output modes to wait on the local NBD server
Richard W.M. Jones
rjones at redhat.com
Fri Jul 15 10:57:09 UTC 2022
On Fri, Jul 15, 2022 at 11:41:34AM +0100, Richard W.M. Jones wrote:
> val output_to_local_file : ?changeuid:((unit -> unit) -> unit) ->
> - ?compressed:bool ->
> + ?compressed:bool -> ?on_exit_kill:bool ->
> Types.output_allocation ->
> string -> string -> int64 -> string ->
> - unit
> + int
> (** When an output mode wants to create a local file with a
> particular format (only "raw" or "qcow2" allowed) then
> - this common function can be used. *)
> + this common function can be used.
> +
> + Exit handling:
> +
> + [?on_exit_kill] defaults to true. Most callers can leave that alone,
> + and also ignore the returned PID. The NBD server will be cleaned up
> + automatically with no further action required.
> +
> + However if you need to wait for the NBD server to be cleaned up,
> + you should set [~on_exit_kill:false] and then waitpid on the
> + returned PID. *)
To avoid so much churn, another way to do this would be to have some
kind of bi-state or tri-state flag, eg:
type on_exit_kill = Kill | KillAndWait [ | Nothing ]
and then hide the behaviour inside output_to_local_file.
Rich.
--
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