#!/bin/bash

set -e

echoerr() { echo "$@" 1>&2; }

src=$(realpath -s $1)
dst=$(realpath -s $2)
bs=$3
count=$4
skip=$5
seek=$6

if [[ "$dst" != /dev/mapper/* ]]; then
    echoerr "invalid dst: $dst"
    exit 1
fi

last=$(($seek * $bs + $count * $bs))

if [[ $last -gt 4194304 ]]; then
    echoerr "write out of range $last"
fi

exec dd if=$src of=$dst bs=$bs skip=$skip seek=$seek count=$count
