summaryrefslogtreecommitdiff
path: root/localresizediskvol
diff options
context:
space:
mode:
Diffstat (limited to 'localresizediskvol')
-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