#!/bin/sh
### BEGIN INIT INFO
# Provides:       resize-all
# Default-Start:  S
# Default-Stop:
# Description:    Resize all internal mounted partitions
### END INIT INFO

# Don't exit on error status
set +e

# Uncomment below to see more logs
# set -x

. $(dirname $0)/disk-helper

LOGFILE=/tmp/resize-all.log

do_part()
{
	DEV=$1
	MOUNT_POINT=$2
	FSTYPE=$3
	OPTS=$4

	echo "Handling $DEV $MOUNT_POINT $FSTYPE $OPTS"

	# Setup check/mount tools and do some prepare
	prepare_part || return

	# Store ro/rw
	MOUNTED_RO_RW=$(touch $MOUNT_POINT &>/dev/null && echo rw || echo ro)

	# Resize partition if needed
	resize_part

	# Restore ro/rw
	remount_part $MOUNTED_RO_RW
}

resize_all()
{
	echo "Will now resize all partitions in /proc/mounts"

	while read LINE;do
		do_part $LINE
	done < /proc/mounts
}

case "$1" in
	start|"")
		resize_all 2>&1 | tee $LOGFILE
		echo "Log saved to $LOGFILE"
		;;
	*)
		echo "Usage: resize-helper start" >&2
		exit 3
		;;
esac

:
