#!/bin/sh

. /lib/partman/lib/base.sh

# Prompt for BOOT_DEGRADED=true|false if / or /boot is on a /dev/md*
root_on_raid () {
	prompt=$(
		for i in /lib/partman/fstab.d/*; do
			[ -x "$i" ] || continue
			$i
		done |
		while read fs mp type options dump pass; do
			if mdadm --detail "$fs" | greq -qsi " raid1$" 2>/dev/null; then
				if [ "$mp" = "/" ] || [ "$mp" = "/boot" ]; then
					echo "true"
					break
				fi
			fi
		done
	)
	case $prompt in
		true)
			db_input critical mdadm/boot_degraded || true
			db_go || true
			db_get mdadm/boot_degraded
			# write to preseed log so that /target knows about it
			echo mdadm mdadm/boot_degraded boolean "$RET" >> "$logfile"

		  ;;
	esac
	exit 0
}

root_on_raid
