summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xlocalresizediskvol25
1 files changed, 25 insertions, 0 deletions
diff --git a/localresizediskvol b/localresizediskvol
new file mode 100755
index 0000000..f15d040
--- /dev/null
+++ b/localresizediskvol
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+set -e
+
+dev=$1
+newsize=$2
+lowsize=$3
+
+#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
+
+umount $dev
+
+e2fsck -f $dev
+
+[ -n "$lowsize" ] && resize2fs $dev $lowsize
+
+lvresize -L $newsize $dev
+resize2fs $dev
+
+mount $dev