I'm trying to clone a volume in a storage pool and I'm following the steps described here: http://libvirt.org/docs/libvirt-appdev-guide-python/en-US/html/libvirt_application_development_guide_using_python-Storage_Pools-Cloning.html

My code looks like:

 destXML = """
            <volume>
              <name>"""+newDiskName+""".qcow2</name>                  
              <target>
                <path>/jffs2/disk0/"""+poolName+'/'+newDiskName+""".qcow2</path>
                <format type='qcow2'/>
                <permissions>
                  <owner>-1</owner>
                  <group>-1</group>
                  <mode>0644</mode>
                  <label>virt_image_t</label>
                </permissions>
              </target>
            </volume>"""

srcDisk = tmpPool.storageVolLookupByName(vDisk)
newVol = sp.createXMLFrom(destXML,srcDisk, 0)  

According to the steps described in the link, this should be it; but I can't start any VM that are using this volume.

Also comparing the volume XML files for src/dest it looks like the format is not copied over:
source:
<volume type='file'>
  <name>k.qcow2</name>
  <key>/jffs2/disk0/sp/vDisk.qcow2</key>
  <source>
  </source>
  <capacity unit='bytes'>3221225472</capacity>
  <allocation unit='bytes'>332075008</allocation>
  <target>
    <path>/jffs2/disk0/sp/vDisk.qcow2</path>
    <format type='qcow2'/>
    <permissions>
      <mode>0644</mode>
      <owner>0</owner>
      <group>0</group>
    </permissions>
    <timestamps>
      <atime>1455879195</atime>
      <mtime>1455879171</mtime>
      <ctime>1455879171</ctime>
    </timestamps>
  </target>


dest:
<volume type='file'>
  <name>newDiskName.qcow2</name>
  <key>/jffs2/disk0/sp/newDiskName.qcow2</key>
  <source>
  </source>
  <capacity unit='bytes'>3221225472</capacity>
  <allocation unit='bytes'>326868992</allocation>
  <target>
    <path>/jffs2/disk0/sp/newDiskName.qcow2</path>
    <format type='raw'/>
    <permissions>
      <mode>0644</mode>
      <owner>0</owner>
      <group>0</group>
    </permissions>
    <timestamps>
      <atime>1455878686</atime>
      <mtime>1455878681</mtime>
      <ctime>1455878681</ctime>
    </timestamps>
  </target>
</volume>

I this a bug in  libvirt->createXMLFrom ?? Or am I missing something?

Thanks,
Andrei

The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you receive this in error please contact the sender and delete the material from any computer immediately. It is the policy of Klas  Limited to disavow the sending of offensive material and should you consider that the material contained in the message is offensive you should contact the sender immediately and also your I.T. Manager.

Klas Telecom Inc., a Virginia Corporation with offices at 1101 30th St. NW, Washington, DC 20007.

Klas Limited (Company Number 163303) trading as Klas Telecom, an Irish Limited Liability Company, with its registered office at Fourth Floor, One Kilmainham Square, Inchicore Road, Kilmainham, Dublin 8, Ireland.