diff options
Diffstat (limited to 'debian/mdadm.config')
-rw-r--r-- | debian/mdadm.config | 131 |
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 |