On Thu, Nov 16, 2006 at 10:36:29AM -0500, Daniel Veillard wrote: > On Fri, Nov 03, 2006 at 11:56:55AM -0500, Daniel Veillard wrote: > > On Fri, Nov 03, 2006 at 11:36:32AM -0500, Lon Hohberger wrote: > > > On Fri, 2006-11-03 at 10:53 -0500, Daniel Veillard wrote: > > > > - can we implement it with current xen, again yes, we should be able > > > > if we have a full connection (root) to do the same as 'xm dump-core' > > > > > > Yes, given that xm dump-core can do it ;) > > > > > > > - is the API clean enough, I guess the semantic is relatively clear > > > > instead of stating 'If you set the lowest-bit in flags' I would rather > > > > define a DumpFlags enum and state that flags is an or'ing of any of them > > > > I would probably name the function virDomainDumpCore though to not > > > > confuse with virDomainSave > > > > > > Totally correct here, it should be an enum of flags (with only one > > > defined initially; I don't know what other flags there might be. > > > > > > > So yes, why not, you want to work on it ? Or should I (or any candidate). > > > > > > Give me a few; I'll check on this. I don't have problems trying it, but > > > I will have a learning curve of course. > > > > Let's see if I was to do it I would: > > 0/ check out a CVS tree http://libvirt.org/downloads.html > > 1/ look how xm communicate with xend on that command > > Bad news, I looked at this and it seems xm can only use the XML-RPC interface > to xend to request the dump command, while libvirt uses the HTTP POST interface. > Adding the support would either require to hack xend or add support for the > intermediary xml-rpc access which was added in 3.0.2 and likely to disapear soon > when the new Xen API is used by xm. Good news: the fix at the xend level is fairly small and has been accepted upstream: http://lists.xensource.com/archives/html/xen-devel/2006-11/msg01120.html http://lists.xensource.com/archives/html/xen-devel/2006-11/msg01121.html So adding dump support was a matter of introducing the new API and calling the usual xend back-end code. I added it and commited it, it's a new entry point in the driver interface, I still kept the extra flags argument, even if upon inspection xend doesn't use any of the 'live' or 'crash' argument it exposes at this API, I just didn't defined any constant for it at this point. So the new entry is just: int virDomainCoreDump (virDomainPtr domain, const char *to, int flags); I commited it to CVS, I also added the 'dump' command to virsh taking the filename as the only argument (after the domain name or id). Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ veillard@xxxxxxxxxx | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/