anchor.diff:                     ;; destination directory (already modified above)
                      ;; remove source file entry
                      (free-file-entry dest-dir source-start)
  -                   (write-file ffs disk dest-cluster fat dest-dir))
  +                   (write-directory ffs disk dest-cluster fat dest-dir))
                     (T
                      ;; source and destination are different directories
                      ;; remove source file entry
                      (free-file-entry source-dir source-start)
                      ;; write both directories
  -                   (write-file ffs disk source-cluster fat source-dir)
  -                   (write-file ffs disk dest-cluster fat dest-dir))))))))
  +                   (write-directory ffs disk source-cluster fat source-dir)
  +                   (write-directory ffs disk dest-cluster fat dest-dir))))))))
   
   (defmethod file-write-date-using-host ((host fat-host) path)
     (multiple-value-bind (parent-dir parent-cluster file-offset) (open-file-metadata host path)
  
positive.code:                              (partition host)
                               (buffer-position stream)
                               (fat host)
                               (buffer stream))
                   (setf (read-write-time parent-dir file-offset) time
                         (read-write-date parent-dir file-offset) date
                         (read-file-length parent-dir file-offset) file-length))
                 (setf (read-last-access-date parent-dir file-offset) date)
                 ;; Write to disk new metadata
                 (write-file (fat-structure host) (partition host) parent-cluster (fat host) parent-dir)))
              (t
               (when (eql (abort-action stream) :delete)
                 (remove-file parent-dir file-offset (partition host) parent-cluster (fat-structure host) (fat host)))))))
  
negative.code:   (free-file-entry directory start)
    ;; Write to disk
    (write-fat disk ffs fat)
    (write-directory ffs disk cluster-n fat directory))
  
  (defun expand-directory (directory cluster-size)
    (let ((new-dir (make-array (+ (length directory) cluster-size)
  