anchor.diff:             (aref cluster (+ 11 offset)))
         1))
   
  -(defun read-file (fat32 disk cluster start)
  -  (when (file-p cluster start)
  -    (read-cluster fat32
  -                  disk
  -                  (first-sector-of-cluster fat32
  -                                           (read-first-cluster cluster start)))))
  +(defun read-file (fat32 disk cluster-n fat)
  +  (let ((file-buffer #()))
  +    (do ((sector (read-sector disk (fat32-reserved-sector-count fat32) 1))
  +         (i cluster-n
  +            (sys.int::ub32ref/le fat (* i 4))))
  +        ((>= i #x0FFFFFF8) file-buffer)
  +      (setf file-buffer
  +            (concatenate 'vector
  +                         file-buffer
  +                         (read-cluster fat32 disk
  +                                       (first-sector-of-cluster fat32 i)))))))
   
   (defun read-first-cluster (cluster offset)
     (logior (ash (sys.int::ub16ref/le cluster (+ 20 offset)) 16)
  
positive.code:         (if start
              (progn (setf buffer (read-file (fat32-structure host)
                                             (partition host)
                                             cluster
                                             start)
                           read-buffer-position (first-sector-of-cluster (fat32-structure host)
                                                                         (read-first-cluster cluster start))
                           read-buffer-size (read-size cluster start)))
  
negative.code: ;; Mount partition
  ;; (let* ((disk-name "FAT32")
  ;;        (disk (nth 3 (mezzano.supervisor:all-disks)))
  ;;        (fat32 (read-fat32-structure (read-sector disk 0 1)))
  ;;        (fat32-info (read-fat32-info-structure (read-sector disk (fat32-fat-info fat32) 1)))
  ;;        (fat (read-sector disk
  ;;                          (fat32-reserved-sector-count fat32)
  ;;                          (/ (fat32-table-size-32 fat32)
  ;;                             (fat32-table-count fat32))))
  ;;        (instance (make-instance 'fat32-host
  ;;                                 :name disk-name
  ;;                                 :partition disk
  ;;                                 :fat32-structure fat32
  ;;                                 :fat32-info fat32-info
  ;;                                 :fat fat)))
  ;;   (setf (mezzano.file-system:find-host disk-name)
  ;;         instance))
  
  