"Daniel P. Berrange" <berrange(a)redhat.com> wrote:
On Wed, Mar 14, 2007 at 09:17:37AM +0000, Richard W.M. Jones wrote:
...
> I did look at the API for libparted a few months ago (actually
from the
> rather ancient released version on
gnu.org) and it didn't look to me
> like there was any way to express LVM notions through the API, so I
> guess this will require a lot of new API calls and structures?
The other option is to simply call the LVM commands directly from libvirt
which is what pretty much every app seems todo when they need to talk
to LVM. We already do this in the network driver backend to deal with
iptables and it isn't all that evil. If the libparted developers are
working on LVM APIs we should encourage them, but its not clear to me that
its worth expending our own resources to develop full LVM support in
libparted when libvirt will only ever need a tiny number of LVM operations
to be invokved.
If the set of LVM operations required by libvirt is really so small,
then I'd say it's worth investing in doing the right thing, if only
to create the tiny API right away.
With a real library API, libvirt stand a much better chance of properly
diagnosing, and even detecting, partitioning failures. Of course,
when everything works well, there's very little difference, but it's
when things go wrong that users will thank us.
Can you give me (an LVM newbie) an idea of what the few libvirt-required
LVM operations are?