Hello community,
here is the log from the commit of package aaa_base
checked in at Fri Aug 1 23:44:18 CEST 2008.
--------
--- aaa_base/aaa_base.changes 2008-07-28 13:04:34.000000000 +0200
+++ aaa_base/aaa_base.changes 2008-08-01 14:02:25.901587000 +0200
@@ -1,0 +2,7 @@
+Wed Jul 30 15:47:48 CEST 2008 - werner(a)suse.de
+
+- More work on bnc#379745: after sync, stop inactive md arrays,
+ enforce clean state of active md arrays.
+- Avoid error output /etc/rc.status due failed stty
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ aaa_base.spec ++++++
--- /var/tmp/diff_new_pack.BX7874/_old 2008-08-01 23:43:37.000000000 +0200
+++ /var/tmp/diff_new_pack.BX7874/_new 2008-08-01 23:43:37.000000000 +0200
@@ -21,7 +21,7 @@
PreReq: /usr/bin/sed /usr/bin/grep /bin/mv /bin/cat /bin/ls /bin/date /usr/bin/cmp /bin/fillup /sbin/insserv udev net-tools
AutoReqProv: on
Version: 11.0.42
-Release: 16
+Release: 18
Summary: SUSE Linux Base Package
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: aaa_base.tar.bz2
@@ -143,6 +143,10 @@
%defattr(-,root,root)
%changelog
+* Wed Jul 30 2008 werner(a)suse.de
+- More work on bnc#379745: after sync, stop inactive md arrays,
+ enforce clean state of active md arrays.
+- Avoid error output /etc/rc.status due failed stty
* Mon Jul 28 2008 werner(a)suse.de
- Add missing test on ~/.hushlogin in csh.login
* Fri Jul 25 2008 werner(a)suse.de
++++++ aaa_base.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/aaa_base/etc/init.d/halt new/aaa_base/etc/init.d/halt
--- old/aaa_base/etc/init.d/halt 2008-07-18 16:51:38.000000000 +0200
+++ new/aaa_base/etc/init.d/halt 2008-08-01 14:03:26.000000000 +0200
@@ -1,9 +1,9 @@
#! /bin/sh
-# Copyright (c) 1996-2007 SuSE Linux Products GmbH, Nuernberg, Germany.
+# Copyright (c) 1996-2008 SuSE Linux Products GmbH, Nuernberg, Germany.
# All rights reserved.
#
# Author: Florian La Roche, 1996
-# Werner Fink <werner(a)suse.de>, 1996-2001
+# Werner Fink <werner(a)suse.de>, 1996-2008
#
# Please send feedback to http://www.suse.de/feedback
#
@@ -27,8 +27,9 @@
*halt)
message="The system will be halted immediately."
arch=$(/bin/uname -m)
- opts=""
command="halt"
+ mddev=""
+ opts=""
#
# Sysvinit's shutdown is knowning about the option -P and -H to set
# the environment variable INIT_HALT within init for the runlevel 0.
@@ -53,6 +54,7 @@
case "$cmdline" in
*apm=smp-power-off*|*apm=power-off*) INIT_HALT=POWEROFF
esac
+ unset cmdline
fi
esac
esac
@@ -72,22 +74,17 @@
opts="${opts:+$opts }-i"
fi
#
- # Sometimes it is wanted to stop also the disks, but
- # do not do this for software raids.
+ # Sometimes it is wanted to stop also the disks
#
if test "$HALT_DISKS" = "yes" ; then
- while read line ; do
- case "$line" in
- md*active) HALT_DISKS=no; break
- esac
- done < /proc/mdstat
- test "$HALT_DISKS" = "no" || opts="${opts:+$opts }-h"
+ opts="${opts:+$opts }-h"
fi
;;
*reboot)
message="Please stand by while rebooting the system..."
- opts="-i"
command="reboot"
+ mddev=""
+ opts="-i"
;;
*)
echo "$0: call me as \"halt\" or \"reboot\" please!"
@@ -148,6 +145,25 @@
fi
+# check out if a software raid is active
+if test -e /proc/mdstat -a -x /sbin/mdadm ; then
+ while read line ; do
+ case "$line" in
+ md*:*active*) mddev=--scan; break
+ esac
+ done < /proc/mdstat
+ unset line
+ if test -n "$mddev" -a -e /etc/mdadm.conf ; then
+ mddev=""
+ while read type dev rest; do
+ case "$dev" in
+ /dev/md*) mddev="${mddev:+$mddev }$dev"
+ esac
+ done < /etc/mdadm.conf
+ unset type dev rest
+ fi
+fi
+
# kill splash animation
test "$SPLASH" = yes && /sbin/splash -q
@@ -172,6 +188,24 @@
mount -no remount,ro / 2> /dev/null
sync
+# stop any inactive software raid
+if test -n "$mddev" ; then
+ /sbin/mdadm --quiet --stop $mddev
+ # redirect shell errors to /dev/null
+ exec 3>&2 2>/dev/null
+ # cause the md arrays to be marked clean immediately
+ for proc in /proc/[0-9]* ; do
+ test ! -e $proc/exe || continue
+ read -t 1 tag name rest < $proc/status || continue
+ case "$name" in
+ md*_raid*) killproc -n -SIGKILL "$name"
+ esac
+ done
+ unset tag name rest
+ # get shell errors back
+ exec 2>&3-
+fi
+
# show "the system is down" message
test "$SPLASH" = yes && /sbin/splash -q -p 65535 -t "isdown"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/aaa_base/etc/rc.status new/aaa_base/etc/rc.status
--- old/aaa_base/etc/rc.status 2008-07-18 17:10:13.000000000 +0200
+++ new/aaa_base/etc/rc.status 2008-08-01 13:58:46.000000000 +0200
@@ -39,9 +39,9 @@
# Seek for terminal size and, if needed, set default size
rc_lc () {
if test -n "$REDIRECT" ; then
- set -- $(stty size < "$REDIRECT")
+ set -- $(stty size < "$REDIRECT" 2> /dev/null || echo 0 0)
else
- set -- $(stty size)
+ set -- $(stty size 2> /dev/null || echo 0 0)
fi
LINES=$1
COLUMNS=$2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org