<div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div>Hi list,<br><br><br></div>i currently have the following issue:<br><br></div><br></div>I did a test upgrade to libvirt 1.1.4 and now i cannot create new snapshots which can be reverted.<br>
<br><br></div>Following Situation:<br><br></div><div>Virtualization: kvm<br></div><div>Disktype: qcow2<br></div><div><br></div>qemu XML:<br>  <cpu mode='host-passthrough'><br></div>  </cpu><br><br></div>
<div>Creating of snapshot:<br><br>virsh snapshot-create-as <guest> <name> <description> --atomic<br></div><div><br></div>Now i craete a snapshot and as soon as i revert i get the following error:<br><br>
error : virCPUDefParseXML:367 : XML error: Non-empty feature list specified without CPU model<br><br></div>I think the error is inside the snapshot xml (virsh snapshot-dumpxml):<br><br></div>  <cpu mode='host-passthrough'><br>
    <feature policy='require' name='pdpe1gb'/><br>    <feature policy='require' name='osxsave'/><br>    <feature policy='require' name='dca'/><br>    <feature policy='require' name='pcid'/><br>
    <feature policy='require' name='pdcm'/><br>    <feature policy='require' name='xtpr'/><br>    <feature policy='require' name='tm2'/><br>    <feature policy='require' name='est'/><br>
    <feature policy='require' name='smx'/><br>    <feature policy='require' name='vmx'/><br>    <feature policy='require' name='ds_cpl'/><br>    <feature policy='require' name='monitor'/><br>
    <feature policy='require' name='dtes64'/><br>    <feature policy='require' name='pbe'/><br>    <feature policy='require' name='tm'/><br>    <feature policy='require' name='ht'/><br>
    <feature policy='require' name='ss'/><br>    <feature policy='require' name='acpi'/><br>    <feature policy='require' name='ds'/><br>    <feature policy='require' name='vme'/><br>
  </cpu><br><br></div>In older libvirt versions < 1.0.0 the xml looks the following way  (virsh snapshot-dumpxml):<br>    <cpu mode='host-passthrough' match='minimum'><br>      <model>SandyBridge</model><br>
      <vendor>Intel</vendor><br>      <feature policy='require' name='pdpe1gb'/><br>      <feature policy='require' name='osxsave'/><br>      <feature policy='require' name='dca'/><br>
      <feature policy='require' name='pcid'/><br>      <feature policy='require' name='pdcm'/><br>      <feature policy='require' name='xtpr'/><br>      <feature policy='require' name='tm2'/><br>
      <feature policy='require' name='est'/><br>      <feature policy='require' name='smx'/><br>      <feature policy='require' name='vmx'/><br>      <feature policy='require' name='ds_cpl'/><br>
      <feature policy='require' name='monitor'/><br>      <feature policy='require' name='dtes64'/><br>      <feature policy='require' name='pbe'/><br>      <feature policy='require' name='tm'/><br>
      <feature policy='require' name='ht'/><br>      <feature policy='require' name='ss'/><br>      <feature policy='require' name='acpi'/><br>      <feature policy='require' name='ds'/><br>
      <feature policy='require' name='vme'/><br>    </cpu><br><br></div>So for what ever reason the model and vendor tag are not copied inside the snapshot metadata xml when using cpu mode cpu-passthrough. <br>
<br></div>virsh dumpxml with --update-cpu flag reports the correct cpu node with model and vendor tags.<br><br></div>After a stop of libvirtd and loooking inside the xml file the cpu tag looks the following:<br><br>    <cpu mode='host-passthrough' match='minimum'><br>
      <model>SandyBridge</model><br>      <vendor>Intel</vendor><br>      <feature policy='require' name='pdpe1gb'/><br>      <feature policy='require' name='osxsave'/><br>
      <feature policy='require' name='dca'/><br>      <feature policy='require' name='pcid'/><br>      <feature policy='require' name='pdcm'/><br>      <feature policy='require' name='xtpr'/><br>
      <feature policy='require' name='tm2'/><br>      <feature policy='require' name='est'/><br>      <feature policy='require' name='smx'/><br>      <feature policy='require' name='vmx'/><br>
      <feature policy='require' name='ds_cpl'/><br>      <feature policy='require' name='monitor'/><br>      <feature policy='require' name='dtes64'/><br>      <feature policy='require' name='pbe'/><br>
      <feature policy='require' name='tm'/><br>      <feature policy='require' name='ht'/><br>      <feature policy='require' name='ss'/><br>      <feature policy='require' name='acpi'/><br>
      <feature policy='require' name='ds'/><br>      <feature policy='require' name='vme'/><br>    </cpu><br><br></div>After the start of libvirtd virsh reports the cpu tag with missing vendor and model.<br>
<br></div>Does anybody else has this problem?<br><br>Best regards<br><br></div>Georg<br></div>