
Quoting Daniel P. Berrange (berrange@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