snapfsck.bash
changeset 4 0565633d7bfa
parent 3 78feee7e4469
child 5 fdaedf474996
--- 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