anchor.diff:                              :host host
                               :direction direction
                               :file-inode file-inode
  -                            :block-size (bytes-per-block (file-host-mount-device host) (superblock host))
  +                            :block-size (bytes-per-block (superblock host))
                               :position file-position
                               :length file-length
                               :abort-action abort-action))
  
positive.code:                             :host host
                              :direction direction
                              :file-inode file-inode
                              :block-size (bytes-per-block (file-host-mount-device host) (superblock host))
                              :position file-position
                              :length file-length
                              :abort-action abort-action
  
negative.code:   (if (zerop n-indirection)
        (funcall fn (read-block disk superblock block-n))
        (iter (with i-block := (read-block disk superblock block-n))
              (for offset :from 0 :below (bytes-per-block superblock) :by 4)
              (for block-n := (sys.int::ub32ref/le i-block offset))
              (unless (and (zerop block-n))
                (follow-pointer disk superblock block-n fn (1- n-indirection))))))
  
  (defun do-file (fn disk superblock inode)
    (let* ((inode-block (inode-block inode))
           (inode-flags (inode-flags inode)))
      (cond ((and (logbitp +incompat-extents+ (superblock-feature-incompat superblock))
  