On 03/25/2011 09:09 AM, Michal Privoznik wrote: > Up to now users have to give a full XML description on input when > device-detaching. If they omited something it lead to unclear > error messages (like generated MAC wasn't found, etc.). > With this patch users can specify only those information which > specify one device sufficiently precise. Remaining information is > completed from domain. > --- > tools/virsh.c | 260 > +++++++++++++++++++++++++++++++++++++++++++++++++++++---- > 1 files changed, 245 insertions(+), 15 deletions(-)
Not forgotten, but not quite yet to the top of my queue, either :( I
guess having too many patches to review is a good sign that there is a
lot of contribution going on.
>
> diff --git a/tools/virsh.c b/tools/virsh.c
> index 50ca50f..95d27f7 100644
> --- a/tools/virsh.c
> +++ b/tools/virsh.c
> @@ -8702,6 +8702,224 @@ cmdAttachDevice(vshControl *ctl, const vshCmd *cmd)
> return TRUE;
> }
>
> +/**
> + * Check if n1 is superset of n2, meaning n1 contains all elements and
> + * attributes as n2 at lest. Including children.
> + * @n1 first node
> + * @n2 second node
> + * return 1 in case n1 covers n2, 0 otherwise.
> + */
> +static int
> +vshNodeIsSuperset(xmlNodePtr n1, xmlNodePtr n2) {
Are there any xml library functions that can already do this without you
rewriting it from scratch?
> +/**
> + * To given domain and (probably incomplete) device XML specification try to
> + * find such device in domain and complete missing parts. This is however
> + * possible when given device XML is sufficiently precise so it addresses
> only
> + * one device.
> + * @ctl vshControl for error messages printing
> + * @dom domain
> + * @oldXML device XML before
> + * @newXML and after completion
> + * Returns -2 when no such device exists in domain, -3 when given XML
> selects many
> + * (is too ambiguous), 0 in case of success. Otherwise returns -1.
> @newXML
> + * is touched only in case of success.
> + */
> +static int
> +vshCompleteXMLFromDomain(vshControl *ctl, virDomainPtr dom, char *oldXML,
> + char **newXML) {
My quick glance of just the documentation says that this looks like a
nice helper, but I haven't reviewed it in depth.
--
Eric Blake [email protected] +1-801-349-2682
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
