1*4882a593Smuzhiyun#!/bin/sh 2*4882a593Smuzhiyun### BEGIN INIT INFO 3*4882a593Smuzhiyun# Provides: resize-all 4*4882a593Smuzhiyun# Default-Start: S 5*4882a593Smuzhiyun# Default-Stop: 6*4882a593Smuzhiyun# Description: Resize all internal mounted partitions 7*4882a593Smuzhiyun### END INIT INFO 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun# Don't exit on error status 10*4882a593Smuzhiyunset +e 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun# Uncomment below to see more logs 13*4882a593Smuzhiyun# set -x 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun. $(dirname $0)/disk-helper 16*4882a593Smuzhiyun 17*4882a593SmuzhiyunLOGFILE=/tmp/resize-all.log 18*4882a593Smuzhiyun 19*4882a593Smuzhiyundo_part() 20*4882a593Smuzhiyun{ 21*4882a593Smuzhiyun DEV=$1 22*4882a593Smuzhiyun MOUNT_POINT=$2 23*4882a593Smuzhiyun FSTYPE=$3 24*4882a593Smuzhiyun OPTS=$4 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun echo "Handling $DEV $MOUNT_POINT $FSTYPE $OPTS" 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun # Setup check/mount tools and do some prepare 29*4882a593Smuzhiyun prepare_part || return 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun # Store ro/rw 32*4882a593Smuzhiyun MOUNTED_RO_RW=$(touch $MOUNT_POINT &>/dev/null && echo rw || echo ro) 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun # Resize partition if needed 35*4882a593Smuzhiyun resize_part 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun # Restore ro/rw 38*4882a593Smuzhiyun remount_part $MOUNTED_RO_RW 39*4882a593Smuzhiyun} 40*4882a593Smuzhiyun 41*4882a593Smuzhiyunresize_all() 42*4882a593Smuzhiyun{ 43*4882a593Smuzhiyun echo "Will now resize all partitions in /proc/mounts" 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun while read LINE;do 46*4882a593Smuzhiyun do_part $LINE 47*4882a593Smuzhiyun done < /proc/mounts 48*4882a593Smuzhiyun} 49*4882a593Smuzhiyun 50*4882a593Smuzhiyuncase "$1" in 51*4882a593Smuzhiyun start|"") 52*4882a593Smuzhiyun resize_all 2>&1 | tee $LOGFILE 53*4882a593Smuzhiyun echo "Log saved to $LOGFILE" 54*4882a593Smuzhiyun ;; 55*4882a593Smuzhiyun *) 56*4882a593Smuzhiyun echo "Usage: resize-helper start" >&2 57*4882a593Smuzhiyun exit 3 58*4882a593Smuzhiyun ;; 59*4882a593Smuzhiyunesac 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun: 62