Quoting Daniel P. Berrange (berrange(a)redhat.com):
On Thu, Sep 08, 2011 at 11:00:07AM -0500, Serge Hallyn wrote:
> Hi,
>
> When lvm.conf has 'command_names = 1', then all results are prefixed with
> the command name. This confuses libvirt which does not ignore those. I
> thought fixing that would be a simple case of detecting those conditions
> at virStorageBackendLogicalMakeVol() and friends, but I was wrong - those
> functions are not getting called at all when command_names=1. I'll keep
> nosing around, but it seemed prudent to ping the list and ask what you
> think would be the cleanest way to handle this case?
Urgh, what a frickin' horrible feature to have in a config file, with
no command line override.
Agreed!
That said, it should be possible to fix via a regex tweak. There are
several places where we call virStorageBackendRunProgRegex in
storage_backend_logical.c. In all of those cases you need to tweak
the 'regexes' definition to add a bit of magic to optionally detect
and ignore the prefix.
I was trying that in the backend_logical.c file, but when command_names=1
that code never even gets called, so there is some other place that is
calling a pvscan or somesuch that I haven't found yet.
Will take another look though.
thanks,
-serge