anchor.diff:          (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))
  
positive.code:     (with-fat-host-locked (host)
        (remove-duplicates
         (match-in-directory disk ffs fat
                             (read-file ffs disk (first-root-dir-cluster ffs) fat)
                             (cdr dir-list)
                             pathname)
         :test #'equal))))
  
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))
  