--- a/snapfsck.sh Fri May 04 12:12:06 2012 +0200
+++ b/snapfsck.sh Fri May 04 13:10:26 2012 +0200
@@ -1,5 +1,7 @@
#!/bin/sh
+set -e
+
SNAPSIZE='500M'
warn() {
@@ -12,7 +14,7 @@
else
echo something went wrong
fi
- exit -1
+ exit 1
}
usage() {
@@ -26,7 +28,7 @@
$0 [-s snapsize] /dev/mapper/<vgname>-<lvname>
__U
-exit -1
+exit 1
}
@@ -51,9 +53,9 @@
[ -n "${vg}" -a -n "${lv}" -a "${vg}" != "${p}" -a "${lv}" != "${p}" ] || usage
d=$(date +%Y%m%d%H%M%S)
-lvcreate -n"$lvs" -L"$SNAPSIZE" -s "$vg/$lv" || die
+lvcreate -n"$lvs" -L"$SNAPSIZE" -s "$vg/$lv"
if e2fsck -fp "/dev/$vg/$lvs"; then
- tune2fs -C 1 -T "$d" "/dev/$vg/$lv" || die
+ tune2fs -C 1 -T "$d" "/dev/$vg/$lv"
waittime=1 # second
tries=60
i=1
@@ -62,7 +64,7 @@
# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549691#74
# https://bugzilla.redhat.com/show_bug.cgi?id=577798#c5
# https://www.redhat.com/archives/linux-lvm/2010-August/msg00029.html
- lvremove -f "$vg/$lvs" || die
+ lvremove -f "$vg/$lvs"
else
die fsck returned nonzero: this may indicate filesystem corruption on the origin volume. The snapshot has not been removed.
fi