[libvirt-users] Error in snapshot create in libvirt 1.1.4

Georg Meier meiergeorg74 at gmail.com
Mon Nov 11 11:23:28 UTC 2013


Hi list,


i currently have the following issue:


I did a test upgrade to libvirt 1.1.4 and now i cannot create new snapshots
which can be reverted.


Following Situation:

Virtualization: kvm
Disktype: qcow2

qemu XML:
  <cpu mode='host-passthrough'>
  </cpu>

Creating of snapshot:

virsh snapshot-create-as <guest> <name> <description> --atomic

Now i craete a snapshot and as soon as i revert i get the following error:

error : virCPUDefParseXML:367 : XML error: Non-empty feature list specified
without CPU model

I think the error is inside the snapshot xml (virsh snapshot-dumpxml):

  <cpu mode='host-passthrough'>
    <feature policy='require' name='pdpe1gb'/>
    <feature policy='require' name='osxsave'/>
    <feature policy='require' name='dca'/>
    <feature policy='require' name='pcid'/>
    <feature policy='require' name='pdcm'/>
    <feature policy='require' name='xtpr'/>
    <feature policy='require' name='tm2'/>
    <feature policy='require' name='est'/>
    <feature policy='require' name='smx'/>
    <feature policy='require' name='vmx'/>
    <feature policy='require' name='ds_cpl'/>
    <feature policy='require' name='monitor'/>
    <feature policy='require' name='dtes64'/>
    <feature policy='require' name='pbe'/>
    <feature policy='require' name='tm'/>
    <feature policy='require' name='ht'/>
    <feature policy='require' name='ss'/>
    <feature policy='require' name='acpi'/>
    <feature policy='require' name='ds'/>
    <feature policy='require' name='vme'/>
  </cpu>

In older libvirt versions < 1.0.0 the xml looks the following way (virsh
snapshot-dumpxml):
    <cpu mode='host-passthrough' match='minimum'>
      <model>SandyBridge</model>
      <vendor>Intel</vendor>
      <feature policy='require' name='pdpe1gb'/>
      <feature policy='require' name='osxsave'/>
      <feature policy='require' name='dca'/>
      <feature policy='require' name='pcid'/>
      <feature policy='require' name='pdcm'/>
      <feature policy='require' name='xtpr'/>
      <feature policy='require' name='tm2'/>
      <feature policy='require' name='est'/>
      <feature policy='require' name='smx'/>
      <feature policy='require' name='vmx'/>
      <feature policy='require' name='ds_cpl'/>
      <feature policy='require' name='monitor'/>
      <feature policy='require' name='dtes64'/>
      <feature policy='require' name='pbe'/>
      <feature policy='require' name='tm'/>
      <feature policy='require' name='ht'/>
      <feature policy='require' name='ss'/>
      <feature policy='require' name='acpi'/>
      <feature policy='require' name='ds'/>
      <feature policy='require' name='vme'/>
    </cpu>

So for what ever reason the model and vendor tag are not copied inside the
snapshot metadata xml when using cpu mode cpu-passthrough.

virsh dumpxml with --update-cpu flag reports the correct cpu node with
model and vendor tags.

After a stop of libvirtd and loooking inside the xml file the cpu tag looks
the following:

    <cpu mode='host-passthrough' match='minimum'>
      <model>SandyBridge</model>
      <vendor>Intel</vendor>
      <feature policy='require' name='pdpe1gb'/>
      <feature policy='require' name='osxsave'/>
      <feature policy='require' name='dca'/>
      <feature policy='require' name='pcid'/>
      <feature policy='require' name='pdcm'/>
      <feature policy='require' name='xtpr'/>
      <feature policy='require' name='tm2'/>
      <feature policy='require' name='est'/>
      <feature policy='require' name='smx'/>
      <feature policy='require' name='vmx'/>
      <feature policy='require' name='ds_cpl'/>
      <feature policy='require' name='monitor'/>
      <feature policy='require' name='dtes64'/>
      <feature policy='require' name='pbe'/>
      <feature policy='require' name='tm'/>
      <feature policy='require' name='ht'/>
      <feature policy='require' name='ss'/>
      <feature policy='require' name='acpi'/>
      <feature policy='require' name='ds'/>
      <feature policy='require' name='vme'/>
    </cpu>

After the start of libvirtd virsh reports the cpu tag with missing vendor
and model.

Does anybody else has this problem?

Best regards

Georg
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20131111/8b08544e/attachment.htm>


More information about the libvirt-users mailing list