From fca84e94173c66133e20fee2b092b29a475aa2f3 Mon Sep 17 00:00:00 2001 From: Thomas Schoebel-Theuer <tst@1und1.de> Date: Mon, 13 May 2013 12:25:51 +0200 Subject: [PATCH] marsadm: optional size argument for 'create-resource' --- userspace/marsadm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/userspace/marsadm b/userspace/marsadm index fc3eb66b..478aaab0 100755 --- a/userspace/marsadm +++ b/userspace/marsadm @@ -733,7 +733,7 @@ sub leave_cluster { } sub create_res { - my ($cmd, $res, $dev, $appear) = @_; + my ($cmd, $res, $dev, $appear, $size_arg) = @_; my $create = ($cmd eq "create-resource"); ldie "undefined device or size argument\n" unless $dev; @@ -761,6 +761,12 @@ sub create_res { $size = sysseek(TEST, 0, SEEK_END); close(TEST); lprint "block device '$dev': determined size = $size bytes\n"; + if ($size_arg) { + my $new_size = get_size($size_arg); + ldie "size argument '$size_arg' is smaller than device size '$size'\n" unless $new_size <= $size; + lprint "reducing size from $size to $new_size\n"; + $size = $new_size; + } } else { $size = get_size($dev); if ($size > 0) {