      (doseq [volume (range 1 (inc (:volumes production)))]
        (let [iso-archive-name (str dam-number (when multi-volume? (str "_" volume)) ".iso")
              iso-archive-path (.getPath (file archive-path "produkt" iso-archive-name))]
-         (fs/copy+ (path/iso-name production volume) iso-archive-path)
+         (nio/create-directories! iso-archive-path)
+         (nio/copy! (path/iso-name production volume) iso-archive-path)
          (set-file-permissions (file iso-archive-path))))
      (prod/set-state-archived! production))))

  files. For a production distribution master copy the isos"
  [production sektion]
  (let [archive-root-path (container-root-path production sektion)]
    (if (fs/exists? archive-root-path)
      (log/errorf "Archive root path %s already exists" archive-root-path)
      (let [archive-path (container-path production sektion)]
        (fs/mkdir archive-root-path)
        (log/debugf "Copying files for %s (%s)" (:id production) sektion)
        (case sektion
          :master
          (fs/copy-dir (path/recorded-path production)
                       (file archive-path (prod/dam-number production)))
          :dist-master
          (doseq [volume (range 1 (inc (:volumes production)))]
            (let [iso-archive-name (str (container-id production sektion volume) ".iso")
                  iso-archive-path (.getPath (file archive-path iso-archive-name))]
              (fs/copy+ (path/iso-name production volume) iso-archive-path))))
        (set-file-permissions archive-root-path)))))

(defn- create-rdf

   (let [dam-number (prod/dam-number production)
         archive-path (.getPath (file other-spool-dir dam-number))
         multi-volume? (prod/multi-volume? production)]
     (when (nio/exists? archive-path)
       ;; when repairing the production is already in the spool dir
       (log/warnf "Archive path %s for other production already exists, removing" archive-path)
       (util/delete-directory! archive-path))
