[Pkg-libvirt-maintainers] Bug#567966: libvirt-bin: can't use striped LVs for LVM storage pool

Anders Andersson pipatron at gmail.com
Mon Feb 1 15:18:20 UTC 2010


Package: libvirt-bin
Version: 0.7.5-5
Severity: normal

When I tried to use an already existing volume group as a storage pool for 
libvirt, it failed with "internal error lvs command failed".

After tracking this down a bit, I find that there is a problem in how libvirt 
is parsing the output from the 'lvs' command. It fails if a logical volume is 
striped over more than one physical volume. The function 
virStorageBackendLogicalFindLVs() as defined in 
src/storage/storage_backend_logical.c to be more precise.

Since it assumes there is only one physical volume listed in the lvs output, 
it fails with this error later on:
error : virStorageBackendUpdateVolTargetInfo:784 : cannot open volume '/dev/vgcrypt/autobahn-root,,VpmDC9-f9zt-13JG-ftRE-1VeE-PILT-pMAaLC': No such file or directory


The output from my lvs, that is fed to libvirt, is:

# lvs --separator , --noheadings --units b --unbuffered --nosuffix --options lv_name,origin,uuid,devices,seg_size,vg_extent_size
  autobahn-root,,VpmDC9-f9zt-13JG-ftRE-1VeE-PILT-pMAaLC,/dev/block/254:4(0),/dev/block/254:5(0),/dev/block/254:3(0),6442450944,4194304

The regex does not allow for more than one device, so it thinks that the 
whole UUID belongs to the LV name as well.

(This is most probably an upstream problem, but upstream encourages us to 
report it for our separate distribution)




-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-trunk-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libvirt-bin depends on:
ii  adduser           3.112                  add and remove users and groups
ii  hal               0.5.14-1               Hardware Abstraction Layer
ii  libavahi-client3  0.6.25-3               Avahi client library
ii  libavahi-common3  0.6.25-3               Avahi common library
ii  libc6             2.10.2-2               GNU C Library: Shared libraries
ii  libcap-ng0        0.6.2-4+b1             An alternate posix capabilities li
ii  libdbus-1-3       1.2.16-2               simple interprocess messaging syst
ii  libdevmapper1.02. 2:1.02.39-1            The Linux Kernel Device Mapper use
ii  libgcrypt11       1.4.4-6                LGPL Crypto library - runtime libr
ii  libgnutls26       2.8.5-2                the GNU TLS library - runtime libr
ii  libhal1           0.5.14-1               Hardware Abstraction Layer - share
ii  libparted1.8-12   1.8.8.git.2009.07.19-5 The GNU Parted disk partitioning s
ii  libpciaccess0     0.11.0-1               Generic PCI access library for X
ii  libreadline6      6.1-1                  GNU readline and history libraries
ii  libsasl2-2        2.1.23.dfsg1-3         Cyrus SASL - authentication abstra
ii  libudev0          150-2                  libudev shared library
ii  libuuid1          2.16.2-0               Universally Unique ID library
ii  libvirt0          0.7.5-5                library for interfacing with diffe
ii  libxenstore3.0    3.4.2-2                Xenstore communications library fo
ii  libxml2           2.7.6.dfsg-2+b1        GNOME XML library
ii  logrotate         3.7.8-4                Log rotation utility

Versions of packages libvirt-bin recommends:
ii  bridge-utils                  1.4-5      Utilities for configuring the Linu
ii  dnsmasq-base                  2.51-1     A small caching DNS proxy and DHCP
ii  iptables                      1.4.6-2    administration tools for packet fi
ii  netcat-openbsd                1.89-3     TCP/IP swiss army knife
pn  qemu                          <none>     (no description available)

Versions of packages libvirt-bin suggests:
pn  policykit-1                   <none>     (no description available)

-- no debconf information





More information about the Pkg-libvirt-maintainers mailing list