summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2006-10-20 11:29:13 +0000
committerJonas Smedegaard <dr@jones.dk>2006-10-20 11:29:13 +0000
commit14e32bf81279c8554a05cee0caeef2d06481a61e (patch)
treeb5fe8908a99a5a27605671c193cf8f7d2173a7cb
parentacee9c5ebd6304ea730ec3b559120f733cc389b9 (diff)
Support online resizing.
-rwxr-xr-xlocalresizediskvol12
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