summaryrefslogtreecommitdiff
path: root/debian/mdadm.config
diff options
context:
space:
mode:
Diffstat (limited to 'debian/mdadm.config')
-rw-r--r--debian/mdadm.config131
1 files changed, 0 insertions, 131 deletions
diff --git a/debian/mdadm.config b/debian/mdadm.config
index 97352662..b9d4e246 100644
--- a/debian/mdadm.config
+++ b/debian/mdadm.config
@@ -13,9 +13,6 @@ ALTCONFIG=/etc/mdadm.conf
DEBIANCONFIG=/etc/default/mdadm
-db_get mdadm/initrdstart || :
-INITRDSTART="$RET"
-
if [ -s $DEBIANCONFIG ] ; then
AUTOCHECK=true
START_DAEMON=true
@@ -31,136 +28,8 @@ if [ -s $DEBIANCONFIG ] ; then
[ -n "$MAILADDR" ] && db_set mdadm/mail_to "$MAILADDR"
fi
-chrooted() {
- test "$(stat -c "%d/%i" /)" != "$(stat -Lc "%d/%i" /proc/1/root 2>/dev/null)"
-}
-
-get_root_raiddev() {
- local rootraiddev;
- rootraiddev="$(df --portability / | sed -rne 's,^(/dev/[^[:space:]]+).*,\1,p')"
- if ! mdadm --detail $rootraiddev >/dev/null 2>&1; then
- return 1
- fi
- echo ${rootraiddev%p[0-9]*}
- return 0
-}
-
-get_initrdstart() {
- db_fget mdadm/initrdstart seen
- if chrooted || [ "$RET $INITRDSTART" = "false all" ]; then
- echo all
- return 1
- fi
-
- get_root_raiddev || echo all
-}
-
-[ -z "$INITRDSTART" ] && INITRDSTART="$(get_initrdstart)" || :
-[ -n "$INITRDSTART" ] && db_set mdadm/initrdstart "$INITRDSTART"
-
-INITRDSTART_PRIORITY=high
-if chrooted; then
- INITRDSTART_PRIORITY=medium
-fi
-
db_capb escape
-msg=intro; suffix=''; error=0
-while true; do
- db_metaget mdadm/initrdstart_msg_${msg} extended_description || :
- db_subst mdadm/initrdstart msg "$(echo -n "${RET}${suffix}" | debconf-escape -e)"
- ret=0; db_input $INITRDSTART_PRIORITY mdadm/initrdstart || ret=$?
- db_go
-
- if [ $error -ne 0 ] && [ $ret -eq 30 ]; then
- # there was an error in a previous run of this loop, but the above question
- # was not asked, so we better exit the endless loop...
- echo "W: mdadm: unable to determine MD arrays needed for boot." >&2
- echo "W: mdadm: falling back to starting all of them..." >&2
- INITRDSTART=all
- break
- fi
-
- db_get mdadm/initrdstart
- INITRDSTART="$(echo $RET | tr , ' ')"
-
- case "$INITRDSTART" in
- ''|none) INITRDSTART=none; break;;
- all) break;;
-
- *)
- arrays=''
- for i in $INITRDSTART; do
-
- # standardise by prefixing /dev/
- i="/dev/${i#/dev/}"
-
- # remove partition from partitionable array
- i="${i%p[0-9]*}"
-
- if [ ! -e "$i" ]; then
- error=1; msg=errexist; suffix=": $i"; break
- fi
-
- if [ ! -b "$i" ]; then
- t="$(readlink -nf "$i")"
- if [ ! -b "$t" ]; then
- suffix=": $t"
- else
- suffix=": $i"
- fi
- error=1; msg=errblock; break
- fi
-
- if ! mdadm --detail "$i" >/dev/null 2>&1; then
- error=1; msg=errmd; suffix=": $i"; break
- fi
-
- if [ -f $CONFIG ]; then
- if ! egrep -q "^(ARRAY)?[[:space:]]+$i([[:space:]]+|$)" $CONFIG; then
- t="$(readlink -nf "$i")"
- if [ -L "$i" ] \
- && egrep -q "^(ARRAY)?[[:space:]]+$t([[:space:]]|$)+" $CONFIG; then
- i="$t"
- else
- db_set mdadm/initrdstart_notinconf false
- db_fset mdadm/initrdstart_notinconf seen false
- db_subst mdadm/initrdstart_notinconf array "$i"
- db_subst mdadm/initrdstart_notinconf config "$CONFIG"
- db_input high mdadm/initrdstart_notinconf || :
- db_go
- db_get mdadm/initrdstart_notinconf
- if [ "$RET" = true ]; then
- error=0
- else
- db_fset mdadm/initrdstart seen false
- db_set mdadm/initrdstart all
- error=1; msg=errconf; suffix=": $i"; break
- fi
- fi
- fi
- fi
-
- # uniquely add device name
- echo $arrays | egrep -q "\b${i}\b" || arrays="${arrays:+$arrays }$i"
- done
-
- if [ $error -eq 0 ]; then
- INITRDSTART="$arrays"
- # exit the while true loop
- break
- fi
- ;;
- esac
-done
-
-db_set mdadm/initrdstart "$INITRDSTART"
-
-if [ "$INITRDSTART" != all ]; then
- db_input high mdadm/autostart || :
- db_go
-fi
-
db_input medium mdadm/autocheck || :
db_go