diff options
author | Jonas Smedegaard <dr@jones.dk> | 2006-10-20 11:29:13 +0000 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2006-10-20 11:29:13 +0000 |
commit | 14e32bf81279c8554a05cee0caeef2d06481a61e (patch) | |
tree | b5fe8908a99a5a27605671c193cf8f7d2173a7cb /localresizediskvol | |
parent | acee9c5ebd6304ea730ec3b559120f733cc389b9 (diff) |
Support online resizing.
Diffstat (limited to 'localresizediskvol')
-rwxr-xr-x | localresizediskvol | 12 |
1 files 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 |