#!/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
|
|
:
|