This indicates something going horribly wrong.
echo "$discid" >"$tmp/$tag/discid.new"
mv "$tmp/$tag/discid.new" "$tmp/$tag/discid"
echo "$discid" >"$tmp/$tag/discid.new"
mv "$tmp/$tag/discid.new" "$tmp/$tag/discid"
+if [ -b "$dev" ]; then msz=$(blockdev --getsize64 "$dev")
+else msz=nil; fi
+
echo "$dev" >"$tmp/$tag/device.new"
mv "$tmp/$tag/device.new" "$tmp/$tag/device"
echo "$dev" >"$tmp/$tag/device.new"
mv "$tmp/$tag/device.new" "$tmp/$tag/device"
if [ -f "$tmp/$tag/badblocks" ]; then
fail "bad sectors found: check \`$tmp/$tag/iso', run again if ok"
fi
if [ -f "$tmp/$tag/badblocks" ]; then
fail "bad sectors found: check \`$tmp/$tag/iso', run again if ok"
fi
+ case $msz in
+ nil) ;;
+ *)
+ newmsz=$(blockdev --getsize64 "$dev")
+ case $newmsz in
+ $msz) ;;
+ *) fail "medium size changed ($msz -> $newmsz): try again" ;;
+ esac
+ ;;
+ esac
fi
rm -f "$tmp/$tag/device"
fi
rm -f "$tmp/$tag/device"