#!/bin/bash

KDUMP_CONF="/etc/kdump.conf"

[ ! -f $KDUMP_CONF ] && echo "Kdump conf file $KDUMP_CONF doesn't exist" && exit 1

# Used for detection inside some chroot()
ADDITIONAL_GREP=""
ADDITIONAL_SED=""
if [ "x$1" != "x" ]; then
	ADDITIONAL_GREP=" $1"
	ADDITIONAL_SED="s,^$1,,g"
fi

LAGEST_PARTITION=`df -l --output=avail,fstype,target | grep ext4 | grep "$ADDITIONAL_GREP" | sed "$ADDITIONAL_SED" | sort -b -n | awk '{print $3}' | tail -n 1`

[ "x$LAGEST_PARTITION" = "x" ] && echo "Failed to detect lagest partition" && exit 1
[ "$LAGEST_PARTITION" = "/" ] && echo "Slash is the largest partition, do nothing" && exit 0
CRASH_DIR="$LAGEST_PARTITION/crash"
[ -d "$CRASH_DIR" ] && echo "Crash directory $CRASH_DIR already exists" && exit 1

mkdir $CRASH_DIR || exit 1

sed -e "s,^path.*,path $CRASH_DIR,g" -i $KDUMP_CONF
