-int
-__elf_populate_mapped(struct mm_region* region, void* pg, off_t offset)
-{
- size_t segsz = region->flen;
- size_t segoff = offset - region->foff;
-
- if (segoff >= segsz) {
- return 0;
- }
-
- struct v_file* file = region->mfile;
- size_t rdlen = MIN(segsz - segoff, PG_SIZE);
-
- if (rdlen == PG_SIZE) {
- // This is because we want to exploit any optimization on read_page
- return file->ops->read_page(file->inode, pg, PG_SIZE, offset);
- } else {
- return file->ops->read(file->inode, pg, rdlen, offset);
- }
-}
-