The function modifies the context but did not care to restore it back.
If a <seclabel> was used on a disk, the <privateData> would not be
parsed.
Use VIR_XPATH_NODE_AUTORESTORE and add a test case to validate that
everything works.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
xmlXPathContextPtr ctxt,
unsigned int flags)
{
+ VIR_XPATH_NODE_AUTORESTORE(ctxt);
virSecurityDeviceLabelDefPtr *seclabels = NULL;
size_t nseclabels = 0;
int n;
<backingStore type='file' index='1'>
<format type='qcow2'/>
<source file='/var/lib/libvirt/images/base.qcow2'>
+ <seclabel model='dac' relabel='yes'>
+ <label>qemu:qemu</label>
+ </seclabel>
<reservations managed='yes'>
<source type='unix' path='/somepath/ux.sck' mode='client'/>
</reservations>