On Fri, 2007-10-19 at 09:53 +0100, Richard W.M. Jones wrote:
Daniel P. Berrange wrote:
> Using structures in the public API is not in keeping with the rest of
> the libvirt APIs. We should be using XML for the main metadata description
> of volumes & pools.
No, that doesn't make sense. XML for an API is a hack. It's hard to
use it without requiring an additional external library to parse the
XML. It's slow. It has the facade of maintaining ABI compatibility
(because it's "just strings"), but in fact has no guaranteed ABI at all.
It sits very poorly with static typing, virtually guaranteeing runtime
errors that you are forced to do something about.
See previous discussion about capabilities, also a hack:
https://www.redhat.com/archives/libvir-list/2007-March/msg00104.html
I've made a similar argument in the past, but this XML API is a
distinctive part of the libvrt API and IMHO it makes sense for the
storage pool API to follow the same model.
That's e.g. why the network API went with the XML API approach too.
Cheers,
Mark.