X-Git-Url: https://git.distorted.org.uk/~mdw/rsync-backup/blobdiff_plain/7a16a2374116aad0be4ef14ff32889a509ef1f9a..3d32ff8ff7bc08ccc7772cb326b54ebcff2b1224:/rsync-backup.in diff --git a/rsync-backup.in b/rsync-backup.in index b0c4086..a48d58a 100644 --- a/rsync-backup.in +++ b/rsync-backup.in @@ -308,9 +308,21 @@ unsnap_lvm () { vg=$1 lv=$2 ## Remove the snapshot. Sometimes LVM doesn't notice that the snapshot is - ## no longer in open immdiately, so try several times. + ## no longer in open immdiately, so try several times. Sometimes, more + ## mysteriously, something is keeping the filesystem from being unmounted, + ## so try that several times and report on things keeping the filesystem + ## open. hostrun "unsnap-lvm $vg/$lv" " - umount $SNAPDIR/$lv + for i in 1 2 3 4; do + echo \";;; BEGIN fuser -mv $SNAPDIR/$lv\" + fuser -mv $SNAPDIR/$lv | sed 's/^/;;; /' + echo \";;; END fuser -mv $SNAPDIR/$lv\" + echo \";;; BEGIN lsof $SNAPDIR/$lv\" + lsof $SNAPDIR/$lv | sed 's/^/;;; /' + echo \";;; END lsof $SNAPDIR/$lv\" + if umount $SNAPDIR/$lv; then break; fi + sleep 2 + done rc=1 for i in 1 2 3 4; do if lvremove -f $vg/$lv.bkp; then rc=0; break; fi