--- a/snapfsck.bash Tue Apr 24 22:33:01 2012 +0200
+++ b/snapfsck.bash Thu May 03 21:37:39 2012 +0200
@@ -50,9 +50,10 @@
[ -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
-if e2fsck -p "/dev/$vg/$lvs"; then
- tune2fs -C 1 -T now "/dev/$vg/$lv" || die
+if e2fsck -fp "/dev/$vg/$lvs"; then
+ tune2fs -C 1 -T "$d" "/dev/$vg/$lv" || die
# removing /dev/$vg/snap.$lv or just $vg/snap.$lv does not work reliably
# removing /dev/mapper/$vg-snap.$lv does not work reliably either nor does
# the workaround suggested at
@@ -62,13 +63,13 @@
i=1
until lvremove -f "$vg/$lvs"; do
if [ $i -lt $tries ]; then
- warn retrying
+ warn retrying snapshot removal
sleep $waittime
i=$((i+1))
else
- die giving up
+ die giving up snapshot removal
fi
done
else
- die fsck failed
+ die fsck returned nonzero: this may indicate filesystem corruption on the origin volume. The snapshot has not been removed.
fi