From 14e32bf81279c8554a05cee0caeef2d06481a61e Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Fri, 20 Oct 2006 11:29:13 +0000 Subject: Support online resizing. --- localresizediskvol | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/localresizediskvol b/localresizediskvol index f15d040..36fa285 100755 --- a/localresizediskvol +++ b/localresizediskvol @@ -6,20 +6,24 @@ dev=$1 newsize=$2 lowsize=$3 +[ -n "$dev" ] || (echo "Device not provided"; exit 1) +[ -n "$newsize" ] || (echo "New size not provided"; exit 1) + #TODO: Get maxsize (from lvm) and oldsize (from fs), and check that... # maxsize >= newsize > oldsize # or # lowsize defined and lowsize < newsize < oldsize -#TODO: Check if filesystem supports online resizing, and skip (un)mount +#TODO: Use getopts to enable onlineresize -umount $dev +#TODO: Check if filesystem supports online resizing if requested -e2fsck -f $dev +[ "$onlineresize" = "yes" ] || umount $dev +[ "$onlineresize" = "yes" ] || e2fsck -f $dev [ -n "$lowsize" ] && resize2fs $dev $lowsize lvresize -L $newsize $dev resize2fs $dev -mount $dev +[ "$onlineresize" = "yes" ] || mount $dev -- cgit v1.2.3