anchor.diff:                               (partition host)
                                (buffer-position stream)
                                (fat host)
  -                             (buffer stream))
  +                             (buffer stream)
  +                             file-length)
                    (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)))
  +               (write-directory (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)))))))
  
positive.code:             (error condition)))
          ;; Write to disk
          (write-fat disk ffs fat)
          (write-file ffs disk parent-cluster fat parent-dir)))
      (force-directory-only path)))
  
  (defmethod expunge-directory-using-host ((host fat-host) path &key)
  
negative.code:                            (create-directory-entry new-dir ".." "" NIL 0)
                             dot-dot-cluster)
              ;; Write to disk
              (write-directory ffs (partition host) cluster-number fat new-dir)))
          ;; Write parent directory to disk
          (write-directory ffs (partition host) cluster-n fat directory)
          ;; Write fat
          (write-fat (partition host) ffs fat)
          ;; Return cluster-number, possibly new directory array and offset
  