X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=chiark-utils.git;a=blobdiff_plain;f=backup%2Fremountrocp;h=d9ba15518a20c6279790b632b21c33ed88e9b965;hp=5e40cc37cc72976d5a7d827a9830de1f0f296683;hb=0d31a244645ed1fec50232ddc31debfb5d38c0f2;hpb=3ee0c9e37f7e59f966312c6c4e48faadf354a69b diff --git a/backup/remountrocp b/backup/remountrocp index 5e40cc3..d9ba155 100755 --- a/backup/remountrocp +++ b/backup/remountrocp @@ -59,7 +59,17 @@ mkfs -t $remountrocp_fs "$lvpath" mkdir -- "$snmnt" mount -t $remountrocp_fs $lvm_mount_opts "$lvpath" "$snmnt" -mount -o remount,ro "$mountpoint" +attempts=10 +while true; do + if mount -o remount,ro "$mountpoint"; then last; fi + attempts=$(( $attempts - 1 )) + if [ $attempts = 0 ]; then + echo >&2 'cannot remount readonly' + exit 1 + fi + sleep 1 +done + trap "mount -o remount,rw $mountpoint; exit 12" 0 cp -a -- "$mountpoint/." "$snmnt/." mount -o remount,rw "$mountpoint"