anchor.diff:                 (write-directory ffs block-device parent-cluster fat parent-dir)))
               (t
                (cond ((eql (if-exists stream) :supersede)
  -                    (setf (read-first-cluster parent-dir file-offset) (buffer-position stream))
  +                    (setf (read-first-cluster parent-dir file-offset) (first-cluster stream))
                       (deallocate-file ffs fat parent-dir file-offset)
                       (write-fat disk ffs fat))
                      ((eql (abort-action stream) :delete)
  
positive.code:             (dirty-bit nil)
              (abort-action nil)
              (buffer nil)
              (buffer-position)
              (block-n -1)
              (file-length 0)
              (file-position 0))
  
negative.code:                  ((nil)
                    (return-from open-using-host nil))))
                ((eql direction :input)
                 (setf first-cluster (read-first-cluster dir-array file-offset)
                       file-length (read-file-length dir-array file-offset)))
                (t (ecase if-exists
                     (:error (error 'simple-file-error
  