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