docs: def assign_sector_numbers(self, dirent, sector_list):
          """ Map out the sectors and link the sectors together
  
          raises NotEnoughSpaceOnDisk if the whole file won't fit. It will not
          allow partial writes.
          """
          num = len(sector_list)
          order = self.reserve_space(num)
          if len(order) != num:
              raise errors.InvalidFile("VTOC reserved space for %d sectors. Sectors needed: %d" % (len(order), num))
          file_length = 0
          last_sector = None
          for sector, sector_num in zip(sector_list.sectors, order):
              sector.sector_num = sector_num
              sector.file_num = dirent.file_num
              file_length += sector.used
              if last_sector is not None:
                  last_sector.next_sector_num = sector_num
              last_sector = sector
          if last_sector is not None:
              last_sector.next_sector_num = 0
          sector_list.file_length = file_length