Pino Toscano
2017-Mar-13 08:49 UTC
[Libguestfs] [PATCH] v2v: support no socket for <listen type='socket'>
Support also a "socket" listen type with no explicitly specified socket (which will be generated by libvirt). Updates commit a4adf48915c0e3e7f4e8b7bbdbb5ac622da1ac58. Related to: RHBZ#1378022 --- v2v/create_libvirt_xml.ml | 4 +++- v2v/parse_libvirt_xml.ml | 4 ++-- v2v/types.ml | 5 +++-- v2v/types.mli | 2 +- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/v2v/create_libvirt_xml.ml b/v2v/create_libvirt_xml.ml index 19e0a52..c276109 100644 --- a/v2v/create_libvirt_xml.ml +++ b/v2v/create_libvirt_xml.ml @@ -249,7 +249,9 @@ let create_libvirt_xml ?pool source target_buses guestcaps let sub = e "listen" [ "type", "network"; "network", n ] [] in append_child sub graphics | LSocket s -> - let sub = e "listen" [ "type", "socket"; "socket", s ] [] in + let attrs = [ "type", "socket" ] @ + (match s with None -> [] | Some s -> [ "socket", s ]) in + let sub = e "listen" attrs [] in append_child sub graphics | LNone -> let sub = e "listen" [ "type", "none" ] [] in diff --git a/v2v/parse_libvirt_xml.ml b/v2v/parse_libvirt_xml.ml index 50bdf1c..edffd20 100644 --- a/v2v/parse_libvirt_xml.ml +++ b/v2v/parse_libvirt_xml.ml @@ -109,8 +109,8 @@ let parse_libvirt_xml ?conn xml ) | Some "socket" -> (match xpath_string "listen[1]/@socket" with - | None -> LNoListen - | Some n -> LSocket n + | None -> LSocket None + | Some n -> LSocket (Some n) ) | Some "none" -> LNone diff --git a/v2v/types.ml b/v2v/types.ml index 3c92357..d802e19 100644 --- a/v2v/types.ml +++ b/v2v/types.ml @@ -85,7 +85,7 @@ and s_display_listen | LNoListen | LAddress of string | LNetwork of string - | LSocket of string + | LSocket of string option | LNone and source_video = Source_other_video of string | @@ -232,7 +232,8 @@ and string_of_source_display { s_display_type = typ; | LNoListen -> "" | LAddress a -> sprintf " listening on address %s" a | LNetwork n -> sprintf " listening on network %s" n - | LSocket s -> sprintf " listening on Unix domain socket %s" s + | LSocket (Some s) -> sprintf " listening on Unix domain socket %s" s + | LSocket None -> sprintf " listening on automatically created Unix domain socket" | LNone -> " listening on private fd" ) diff --git a/v2v/types.mli b/v2v/types.mli index 6cd6190..31a974a 100644 --- a/v2v/types.mli +++ b/v2v/types.mli @@ -142,7 +142,7 @@ and s_display_listen | LNoListen (** No parseable <listen/> element. *) | LAddress of string (** Listen address. *) | LNetwork of string (** Listen network. *) - | LSocket of string (** Listen Unix domain socket. *) + | LSocket of string option (** Listen Unix domain socket. *) | LNone (** <listen type='none'> *) (** Video adapter model. *) -- 2.9.3
Richard W.M. Jones
2017-Mar-13 13:16 UTC
Re: [Libguestfs] [PATCH] v2v: support no socket for <listen type='socket'>
On Mon, Mar 13, 2017 at 09:49:26AM +0100, Pino Toscano wrote:> Support also a "socket" listen type with no explicitly specified socket > (which will be generated by libvirt). > > Updates commit a4adf48915c0e3e7f4e8b7bbdbb5ac622da1ac58. > > Related to: RHBZ#1378022 > --- > v2v/create_libvirt_xml.ml | 4 +++- > v2v/parse_libvirt_xml.ml | 4 ++-- > v2v/types.ml | 5 +++-- > v2v/types.mli | 2 +- > 4 files changed, 9 insertions(+), 6 deletions(-) > > diff --git a/v2v/create_libvirt_xml.ml b/v2v/create_libvirt_xml.ml > index 19e0a52..c276109 100644 > --- a/v2v/create_libvirt_xml.ml > +++ b/v2v/create_libvirt_xml.ml > @@ -249,7 +249,9 @@ let create_libvirt_xml ?pool source target_buses guestcaps > let sub = e "listen" [ "type", "network"; "network", n ] [] in > append_child sub graphics > | LSocket s -> > - let sub = e "listen" [ "type", "socket"; "socket", s ] [] in > + let attrs = [ "type", "socket" ] @ > + (match s with None -> [] | Some s -> [ "socket", s ]) inAre the parens around match needed here? ACK patch. Rich.> + let sub = e "listen" attrs [] in > append_child sub graphics > | LNone -> > let sub = e "listen" [ "type", "none" ] [] in > diff --git a/v2v/parse_libvirt_xml.ml b/v2v/parse_libvirt_xml.ml > index 50bdf1c..edffd20 100644 > --- a/v2v/parse_libvirt_xml.ml > +++ b/v2v/parse_libvirt_xml.ml > @@ -109,8 +109,8 @@ let parse_libvirt_xml ?conn xml > ) > | Some "socket" -> > (match xpath_string "listen[1]/@socket" with > - | None -> LNoListen > - | Some n -> LSocket n > + | None -> LSocket None > + | Some n -> LSocket (Some n) > ) > | Some "none" -> > LNone > diff --git a/v2v/types.ml b/v2v/types.ml > index 3c92357..d802e19 100644 > --- a/v2v/types.ml > +++ b/v2v/types.ml > @@ -85,7 +85,7 @@ and s_display_listen > | LNoListen > | LAddress of string > | LNetwork of string > - | LSocket of string > + | LSocket of string option > | LNone > > and source_video = Source_other_video of string | > @@ -232,7 +232,8 @@ and string_of_source_display { s_display_type = typ; > | LNoListen -> "" > | LAddress a -> sprintf " listening on address %s" a > | LNetwork n -> sprintf " listening on network %s" n > - | LSocket s -> sprintf " listening on Unix domain socket %s" s > + | LSocket (Some s) -> sprintf " listening on Unix domain socket %s" s > + | LSocket None -> sprintf " listening on automatically created Unix domain socket" > | LNone -> " listening on private fd" > ) > > diff --git a/v2v/types.mli b/v2v/types.mli > index 6cd6190..31a974a 100644 > --- a/v2v/types.mli > +++ b/v2v/types.mli > @@ -142,7 +142,7 @@ and s_display_listen > | LNoListen (** No parseable <listen/> element. *) > | LAddress of string (** Listen address. *) > | LNetwork of string (** Listen network. *) > - | LSocket of string (** Listen Unix domain socket. *) > + | LSocket of string option (** Listen Unix domain socket. *) > | LNone (** <listen type='none'> *) > > (** Video adapter model. *) > -- > 2.9.3 > > _______________________________________________ > Libguestfs mailing list > Libguestfs@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
Maybe Matching Threads
- [PATCH] v2v: Support <listen type='socket'> and <listen type='none'> (RHBZ#1378022).
- [PATCH 1/2] v2v: -o libvirt: Refactor video and graphics elements.
- v2v: -i libvirtxml: Map empty network or bridge name to a default (RHBZ#1257895).
- [PATCH 1/4] v2v: collect source network and video adapter types
- [PATCH v4 1/5] v2v: collect source network and video adapter types