#!/bin/sh
#
# startall -- starts all existing arrays after creating mdadm.conf
#             overrides the AUTOSTART variable in /etc/default/mdadm
#
# Copyright © martin f. krafft <madduck@madduck.net>
# distributed under the terms of the Artistic Licence 2.0
#
# $Id: startall 272 2006-11-11 19:54:38Z madduck $
#

set -eu

CONFIG=/etc/mdadm/mdadm.conf
ALTCONFIG=/etc/mdadm.conf

modprobe -kq md 2>/dev/null || :

if [ ! -f $CONFIG ] && [ ! -f $ALTCONFIG ]; then
  mkdir --parents ${CONFIG%/*}
  /usr/share/mdadm/mkconf > $CONFIG || ret=$?
  case ${ret:-0} in
    0) :;;
    255) echo W: mdadm: using existing mdadm.conf file... >&2;;
    *)
      echo E: mdadm: mdadm.conf creation failed, aborting. >&2
      exit $ret
      ;;
  esac
fi

MDADM_FORCE_AUTOSTART__=1 exec /etc/init.d/mdadm-raid start
