[Libvir] <disk> <shareable/> has no effect

Looks like <shareable/> within <disk> has no effect. I ran virsh dumpxml, inserted the <shareable/>, redefined the domain, and ran virsh dumpxml again. No shareable. I even ran virsh undefine and virsh define again, same thing. XML and output of xm list --long for this guest attached.

On Wed, Nov 14, 2007 at 06:55:31PM +0100, Markus Armbruster wrote:
Looks like <shareable/> within <disk> has no effect. I ran virsh dumpxml, inserted the <shareable/>, redefined the domain, and ran virsh dumpxml again. No shareable. I even ran virsh undefine and virsh define again, same thing.
Strange, I noticed that there were no test of the conversion for "w!" to and from <shareable/>, so I added tests based on yours but they work as expected in the conversion routines as tested. So I admit I'm a bit lost to what could have caused the problem. Since the xml dump includes the "w!" I would assume the part going from the XML file for creation of the domain worked as expected, but it's when dumping back the domain that you got the missing <shareable/>, right ? Was the domain running at that point ? If on RHEL-5(.1) and for a defined but non-running domain, the dump routine could use a different path. thanks, Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ veillard@redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/

On Fri, Nov 16, 2007 at 10:09:19AM -0500, Daniel Veillard wrote:
On Wed, Nov 14, 2007 at 06:55:31PM +0100, Markus Armbruster wrote:
Looks like <shareable/> within <disk> has no effect. I ran virsh dumpxml, inserted the <shareable/>, redefined the domain, and ran virsh dumpxml again. No shareable. I even ran virsh undefine and virsh define again, same thing.
Strange, I noticed that there were no test of the conversion for "w!" to and from <shareable/>, so I added tests based on yours but they work as expected in the conversion routines as tested. So I admit I'm a bit lost to what could have caused the problem. Since the xml dump includes the "w!" I would assume the part going from the XML file for creation of the domain worked as expected, but it's when dumping back the domain that you got the missing <shareable/>, right ? Was the domain running at that point ? If on RHEL-5(.1) and for a defined but non-running domain, the dump routine could use a different path.
Okay, checked and confirmed if you build from a defined domain it uses the xm_internal.c backend and in xenXMDomainFormatXML we forgot to check for 'w!' and dump the <shareable/> element. The fix is trivial, enclosed, and I will commit it tomorrow unless someone disagrees, Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ veillard@redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/

On Wed, Nov 21, 2007 at 11:14:18AM -0500, Daniel Veillard wrote:
On Fri, Nov 16, 2007 at 10:09:19AM -0500, Daniel Veillard wrote:
On Wed, Nov 14, 2007 at 06:55:31PM +0100, Markus Armbruster wrote:
Looks like <shareable/> within <disk> has no effect. I ran virsh dumpxml, inserted the <shareable/>, redefined the domain, and ran virsh dumpxml again. No shareable. I even ran virsh undefine and virsh define again, same thing.
Strange, I noticed that there were no test of the conversion for "w!" to and from <shareable/>, so I added tests based on yours but they work as expected in the conversion routines as tested. So I admit I'm a bit lost to what could have caused the problem. Since the xml dump includes the "w!" I would assume the part going from the XML file for creation of the domain worked as expected, but it's when dumping back the domain that you got the missing <shareable/>, right ? Was the domain running at that point ? If on RHEL-5(.1) and for a defined but non-running domain, the dump routine could use a different path.
Okay, checked and confirmed if you build from a defined domain it uses the xm_internal.c backend and in xenXMDomainFormatXML we forgot to check for 'w!' and dump the <shareable/> element. The fix is trivial, enclosed, and I will commit it tomorrow unless someone disagrees,
Xen allows both '!' and 'w!' to mean shareable, so you need to check for both. Aside from that, its fine. Regards, Dan. -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|

On Wed, Nov 21, 2007 at 04:17:50PM +0000, Daniel P. Berrange wrote:
On Wed, Nov 21, 2007 at 11:14:18AM -0500, Daniel Veillard wrote:
On Fri, Nov 16, 2007 at 10:09:19AM -0500, Daniel Veillard wrote:
On Wed, Nov 14, 2007 at 06:55:31PM +0100, Markus Armbruster wrote:
Looks like <shareable/> within <disk> has no effect. I ran virsh dumpxml, inserted the <shareable/>, redefined the domain, and ran virsh dumpxml again. No shareable. I even ran virsh undefine and virsh define again, same thing.
Strange, I noticed that there were no test of the conversion for "w!" to and from <shareable/>, so I added tests based on yours but they work as expected in the conversion routines as tested. So I admit I'm a bit lost to what could have caused the problem. Since the xml dump includes the "w!" I would assume the part going from the XML file for creation of the domain worked as expected, but it's when dumping back the domain that you got the missing <shareable/>, right ? Was the domain running at that point ? If on RHEL-5(.1) and for a defined but non-running domain, the dump routine could use a different path.
Okay, checked and confirmed if you build from a defined domain it uses the xm_internal.c backend and in xenXMDomainFormatXML we forgot to check for 'w!' and dump the <shareable/> element. The fix is trivial, enclosed, and I will commit it tomorrow unless someone disagrees,
Xen allows both '!' and 'w!' to mean shareable, so you need to check for both. Aside from that, its fine.
Okay, tested both, and commited, Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ veillard@redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
participants (3)
-
Daniel P. Berrange
-
Daniel Veillard
-
Markus Armbruster