chiark / gitweb /
Backup: Add daft_sleep calls to snapshot code.
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 26 Apr 2016 23:33:14 +0000 (00:33 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 26 Apr 2016 23:37:06 +0000 (00:37 +0100)
Nowadays udev (and other things) tend to randomly open new block
devices, and cause other kinds of trouble.  Bodge around this by
adding some sleeps.

Empirically tested on old-zealot.

backup/snap-common
debian/changelog

index 1806a71..99234b1 100644 (file)
@@ -50,10 +50,17 @@ lvmdevice2vgroup () {
        vgroup="${vgroup%/*}"
 }
 
+daft_sleep () {
+       sleep 5
+}
+
 lvmdropcore () {
        snmnt="$vardir/snap-mount"
+       daft_sleep
        umount -v "$snmnt" || true
+       daft_sleep
        test ! -d "$snmnt" || rmdir -- "$snmnt" || rm -f "$snmnt"
+       daft_sleep
 
        set +e
        old_lv_dev="$(readlink $vardir/snap-device)"
@@ -62,7 +69,9 @@ lvmdropcore () {
 
        if [ $rc = 0 ]; then
                set +e
+               daft_sleep
                lvremove -f $lvm_lvtools_opts      $old_lv_dev
+               daft_sleep
                set -e
                rm $vardir/snap-device
        fi
index 64fc918..28e0bc9 100644 (file)
@@ -2,6 +2,7 @@ chiark-utils (4.5.0~iwj4) unstable; urgency=medium
 
   * Add debian/.debhelper to .gitignore.
   * Backup: No longer attempt to lvchange -a n the snapshot volume.
+  * Backup: Add daft_sleep calls to snapshot code.
 
  --