Bug#674029: multipath-tools: stop fails due to incorrect awk expression

Bernhard Reutner-Fischer rep.dot.nop at gmail.com
Tue May 22 15:42:15 UTC 2012


Package: multipath-tools
Version: 0.4.9+git0.4dfdaf2b-4
Severity: important
Tags: patch

Dear Maintainer,

   * What led up to the situation?

aptitude upgrade trying to stop multipath, breaking my upgrade.
See top of attached patch for details


-- Package-specific info:
/etc/multipath.conf does not exist.


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

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

Versions of packages multipath-tools depends on:
ii  initscripts         2.88dsf-22.1
ii  kpartx              0.4.9+git0.4dfdaf2b-4
ii  libaio1             0.3.109-2
ii  libc6               2.13-32
ii  libdevmapper1.02.1  2:1.02.67-2
ii  libreadline6        6.2-8
ii  lsb-base            4.1+Debian3
ii  udev                175-3.1

multipath-tools recommends no packages.

Versions of packages multipath-tools suggests:
pn  multipath-tools-boot  <none>

-- Configuration Files:
/etc/init.d/multipath-tools changed:
PATH=/sbin:/bin:/usr/sbin/:/usr/bin
DAEMON=/sbin/multipathd
NAME=multipathd
DESC="multipath daemon"
syspath=/sys/block
test -x $DAEMON || exit 0
. /lib/lsb/init-functions
if [ -f /etc/default/multipath-tools ] ; then
	. /etc/default/multipath-tools
fi
set -e
teardown_slaves()
{
cd $1;
if [ -d "slaves" ]; then
for slave in slaves/*;
do
	if [ "$slave" = "slaves/*" ]; then
		read dev <  $1/dev
		tablename=`dmsetup table --target multipath | sed -n "s/\(.*\): .*
$dev .*/\1/p"`
		if ! [ -z $tablename ]; then
			log_daemon_msg "Root is on a multipathed device, multipathd can not
be stopped"
			exit 1
		fi
	else
		local_slave=`readlink -f $slave`;
		teardown_slaves $local_slave;
	fi
	done
		
else
		read dev <  $1/dev
		tablename=`dmsetup table --target multipath | sed -n "s/\(.*\): .*
$dev .*/\1/p"`
		if ! [ -z $tablename ]; then
			log_daemon_msg "Root is on a multipathed device, multipathd can not
be stopped"
			exit 1
		fi
fi
}
case "$1" in
  start)
	log_daemon_msg "Starting $DESC" "$NAME"
	start-stop-daemon --oknodo --start --quiet --pidfile
/var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
	log_end_msg $?
	;;
  stop)
        root_dev=$(awk '{ if ($1 !~ /^[ \t]*#/ && $1 ~ /\// && $2 ==
"/") { print $1; }}' /etc/mtab)
	dm_num=`dmsetup info -c --noheadings -o minor $root_dev`
	root_dm_device="dm-$dm_num"
	[ -d $syspath/$root_dm_device ] && teardown_slaves $syspath/$root_dm_device
	log_daemon_msg "Stopping $DESC" "$NAME"
	start-stop-daemon --oknodo --stop --quiet --pidfile
/var/run/$NAME.pid --exec $DAEMON
	log_end_msg $?
	;;
  reload|force-reload)
	log_daemon_msg "Reloading $DESC" "$NAME"
	start-stop-daemon --stop --signal 1 --quiet --pidfile
/var/run/$NAME.pid --exec $DAEMON
	log_end_msg $?
	;;
  restart|force-reload)
  	$0 stop
	sleep 1
	$0 start
	;;
  *)
	N=/etc/init.d/multipath-tools
	echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
	exit 1
	;;
esac
exit 0


-- no debconf information
-------------- next part --------------
A non-text attachment was scrubbed...
Name: multipath-tools-0.4.9+git0.4df-fix-runlevel-script-for-rootfs.patch
Type: application/octet-stream
Size: 1089 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-lvm-maintainers/attachments/20120522/aacf0ab8/attachment.obj>


More information about the pkg-lvm-maintainers mailing list