# HG changeset patch # User Matthias Förste # Date 1336129826 -7200 # Node ID bd12aa54868e8ed05ce5402bb02546e2c0fbafde # Parent 12744a06a554f1fda47e3ef61ed505a3b594535f use 'set -e'; fixed exit codes (negative numbers are invalid) diff -r 12744a06a554 -r bd12aa54868e snapfsck.sh --- 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/- __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