
On Thu, Jan 20, 2011 at 08:20:20AM -0700, Eric Blake wrote:
On 01/20/2011 05:13 AM, Daniel P. Berrange wrote:
* virSysinfoRead() This API is completely internal. But DMI type1 information(dmidecode -t1) is useful for above purpose, because it's one of the information which suppose to processing capacity about host machine.
I want to export virSysinfoRead() to user.
I wouldn't want to export the API, because that would require us to expose some complex structures in the public ABI. I think we'd just want to expose the data in the host capabilities XML, or have an API to query the XML of just the sysinfo on its own.
You are not the first person to request some way of getting at the host's sysinfo from a libvirt API, so the idea of exporting something makes sense (just not virSysinfoRead in its current form). Personally, I like the idea of:
char *virConnectGetSysinfo(virConnectPtr)
which returns just the XML <sysinfo> block for a given host. Also, including <sysinfo> in the larger XML of virCopnnectGetCapabilities() makes sense.
If we've going to have a separate API, then I'd avoid also adding it to the capabilities XML. We have a max RPC message size of 256 KB, and the capabilities XML is growing all the time. So I think we could usefully avoid adding the sysinfo there to, if having a separate API. Daniel