diff -r 78feee7e4469 -r 0565633d7bfa snapfsck.bash --- 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