anchor.diff:                                       :area :wired
                                        :element-type '(unsigned-byte 8)
                                        :initial-element 0))
  -                (dot-dot-cluster (if (= cluster-n (first-root-dir-cluster ffs))
  -                                     0
  -                                     cluster-n)))
  +                ;; (null cluster-n) => root dir, when ".." is root dir,
  +                ;; spec requires 0 for ".." cluster
  +                (dot-dot-cluster (or cluster-n 0)))
               (fill-in-entry new-dir
                              (create-directory-entry new-dir "." "" NIL 0)
                              cluster-number)
  
positive.code:         (fat-%sectors-per-fat ffs))
       (root-dir-sectors ffs)))
  
  (defun first-root-dir-sector (fat12)
    (- (first-data-sector fat12)
       (root-dir-sectors fat12)))
  
  (defmethod first-root-dir-cluster ((fat12 fat12))
    (/ (+ (first-root-dir-sector fat12)
          (- (first-data-sector fat12))
          (ash (fat-%sectors-per-cluster fat12) 1))
       (fat-%sectors-per-cluster fat12)))
  
  (defmethod first-root-dir-cluster ((fat32 fat32))
    (fat32-%root-cluster fat32))
  
  (defun first-sector-of-cluster (ffs cluster-n)
    (+ (* (- cluster-n 2)
          (fat-%sectors-per-cluster ffs))
  
negative.code:                       directory (read-file ffs
                                             disk
                                             (read-first-cluster directory start)
                                             fat))
                  (return)))
          :finally (do-files (start) directory
                     (return-from open-file-metadata (values directory directory-cluster))
  