summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2018-12-20 13:40:56 +0100
committerErich Eckner <git@eckner.net>2018-12-20 13:40:56 +0100
commit654958ef67913a026fc64609f8469d8e7f90ad4e (patch)
tree468371f8fd73c1583749ed637b7762fb97a70c9b
parente09eda10c5297f9e7d673df4e44b6d5f9df39608 (diff)
downloaddd-resume-654958ef67913a026fc64609f8469d8e7f90ad4e.tar.xz
dd-resume.in: do not rely on blocks, but rather on written bytes/block_size
-rw-r--r--dd-resume.in7
1 files changed, 4 insertions, 3 deletions
diff --git a/dd-resume.in b/dd-resume.in
index de66e8e..192c6a7 100644
--- a/dd-resume.in
+++ b/dd-resume.in
@@ -18,7 +18,8 @@ usage() {
exit 1
}
-dd_options='bs=1M'
+block_size=$((1024*1024))
+dd_options='bs='"${block_size}"
needed_programs='dd nc ss screen pgrep kill ssh'
eval set -- "$(
@@ -160,7 +161,7 @@ if [ -n "${host}" ]; then
)
copied=$(
sed '
- s/^\([0-9]\+\)+0 records out$/\1/
+ s/^\([0-9]\+\) bytes .\+ copied, .*$/\1/
t
d
' "${log_file}" | \
@@ -168,7 +169,7 @@ if [ -n "${host}" ]; then
tail -n1
)
if [ -n "${copied}" ]; then
- start=$((start+copied))
+ start=$((start + copied/block_size))
fi
fi