[Pkg-xen-devel] Bug#622096: xen-utils-common: error in script "block" by checking loop device sharing prevents DomU from start
Artur Linhart
al.linux at bcpraha.com
Sun Apr 10 08:46:04 UTC 2011
Package: xen-utils-common
Version: 4.0.0-1
Severity: important
The script /etc/xen/scripts/block contains an error in the part which
is checking the sharing of the already created loop devices. This error
leads in the case of somespecific file inode values
to the wrong report of the loop device as being already used
and causes then the domain could not be started with such device at all,
there is only displayed the message
File {filename} is loopback-mounted through {loop1devname}, which is mounted in a guest domain {domainname}, and so cannot be mounted now.
This error occurs in the case the inode of the given file
is the substring of the another inode of the another file used also
as loop device (for example as a block device in different DomU)
Concretely, in my case I have one file with inode value 13 and the second
with inode value 1356984
In this case the part of the script "block":
shared_list=$(losetup -a | grep ' \[0*'${dev}'\]:'${inode} |
does not work correctly, it resolves the file with inode 1356984 which is already
used like the file with inode 13 and prevents the usage of the file with inode 13,
thinking it is already used.
Also, the check of the sharing could generally cause following error:
It would also not work anymore in the case there are multiple inodes,
starting with "13" - then the given statement resolves multiple loop devices, so
even if the device "13" would be already used, the checking of the sharing reports multiple
loop devices (loop device corresponding with all such inodes like 1356984, 13, 1369336)
what leads in the next processing in function check_sharing to the wrong evaluation and
report the device 13 can be used again.
The solution of this problem is (at least in my case it helped, but I think this
could be a general solution of the output of "losetup -a" is always the same)
to modify the statement above like follows:
shared_list=$(losetup -a | grep ' \[0*'${dev}'\]:'"${inode} " |
-- System Information:
Debian Release: 6.0.1
APT prefers stable
APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.32-5-xen-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 xen-utils-common depends on:
ii gawk 1:3.1.7.dfsg-5 GNU awk, a pattern scanning and pr
ii lsb-base 3.2-23.2squeeze1 Linux Standard Base 3.2 init scrip
ii udev 164-3 /dev/ and hotplug management daemo
ii xenstore-utils 4.0.1-2 Xenstore utilities for Xen
xen-utils-common recommends no packages.
xen-utils-common suggests no packages.
-- Configuration Files:
/etc/default/xendomains changed [not included]
/etc/init.d/xend changed [not included]
/etc/xen/scripts/block changed [not included]
/etc/xen/scripts/network-bridge changed [not included]
/etc/xen/scripts/qemu-ifup changed [not included]
/etc/xen/scripts/vif-bridge changed [not included]
/etc/xen/scripts/vif-common.sh changed [not included]
/etc/xen/xend-config.sxp changed [not included]
-- no debconf information
More information about the Pkg-xen-devel
mailing list