chiark / gitweb /
fixes from testing on chiark
[chiark-utils.git] / backup / remountrocp
index 65037ee0c3b423943183a32b927fd719605cfccf..04ddd270afff6e73356009a0b28561155543bead 100755 (executable)
@@ -35,7 +35,7 @@ if [ -z "$lvm_lvsize_opts" ]; then
 
        df_out="$(really df -P --block-size=$extsize $mountpoint)"
        extents2="$(printf "%s" "$df_out" | awk '/^\// {print $3}')"
-       extents2=$(( ($extents2*150+99)/100 + 4 ))
+       extents2=$(( ($extents2*150+102399)/102400 + 4 ))
 
        lvmextentscore2
 fi
@@ -55,9 +55,11 @@ lvcreate \
        $vgroup \
        $lvm_lvcreate_args
 
-mkfs -t $remountrocp_fs "$lvpath"
+mkfs -t $remountrocp_fs -q "$lvpath"
+
 mkdir -- "$snmnt"
 mount -t $remountrocp_fs $lvm_mount_opts "$lvpath" "$snmnt"
+echo ' copy filesystem created and mounted'
 
 attempts=10
 while true; do
@@ -69,9 +71,10 @@ while true; do
        fi
        sleep 1
 done
-
-trap "mount -o remount,rw $mountpoint; exit 12" 0
-cp -a -- "$mountpoint/." "$snmnt/."
+trap "set +e; mount -o remount,rw $mountpoint; exit 12" 0
+echo ' source remounted readonly, copying...'
+cp -ax -- "$mountpoint/." "$snmnt/."
+echo ' finalising...'
 mount -o remount,rw "$mountpoint"
 trap '' 0
 mount -o remount,ro "$lvpath"