+mkdir -p "$tmp/$tag"
+
+discid=$("$DVD_ID" -I "$dev")
+if [ -f "$tmp/$tag/discid" ]; then
+ read oldid <"$tmp/$tag/discid"
+ case $force,$oldid in
+ t,"$discid" | nil,"$discid")
+ ;;
+ nil,*)
+ fail "discid mismatch: expected \`$oldid' but drive has \`$discid'"
+ ;;
+ t,*)
+ warn "discid mismatch: expected \`$oldid' but drive has \`$discid'; continuing anway"
+ ;;
+ esac
+fi
+info "copying \`$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"
+