Lines Matching refs:pos

67 static struct dfs_page *dfs_page_lookup(struct dfs_file *file, off_t pos);
1005 static struct dfs_page *dfs_page_create(off_t pos) in dfs_page_create() argument
1008 int affid = RT_PAGE_PICK_AFFID(pos); in dfs_page_create()
1442 static struct dfs_page *dfs_aspace_load_page(struct dfs_file *file, off_t pos) in dfs_aspace_load_page() argument
1451 page = dfs_page_create(pos); in dfs_aspace_load_page()
1456 page->fpos = RT_ALIGN_DOWN(pos, ARCH_PAGE_SIZE); in dfs_aspace_load_page()
1480 static struct dfs_page *dfs_page_lookup(struct dfs_file *file, off_t pos) in dfs_page_lookup() argument
1486 page = dfs_page_search(aspace, pos); in dfs_page_lookup()
1491 off_t fpos = pos / ARCH_PAGE_SIZE * ARCH_PAGE_SIZE; in dfs_page_lookup()
1558 int dfs_aspace_read(struct dfs_file *file, void *buf, size_t count, off_t *pos) in dfs_aspace_read() argument
1576 page = dfs_page_lookup(file, *pos); in dfs_aspace_read()
1584 len = aspace->vnode->size - *pos; in dfs_aspace_read()
1588 len = page->fpos + ARCH_PAGE_SIZE - *pos; in dfs_aspace_read()
1594 rt_memcpy(ptr, page->page + *pos - page->fpos, len); in dfs_aspace_read()
1596 *pos += len; in dfs_aspace_read()
1632 int dfs_aspace_write(struct dfs_file *file, const void *buf, size_t count, off_t *pos) in dfs_aspace_write() argument
1657 page = dfs_page_lookup(file, *pos); in dfs_aspace_write()
1663 len = page->fpos + ARCH_PAGE_SIZE - *pos; in dfs_aspace_write()
1665 rt_memcpy(page->page + *pos - page->fpos, ptr, len); in dfs_aspace_write()
1667 *pos += len; in dfs_aspace_write()
1671 if (*pos > aspace->vnode->size) in dfs_aspace_write()
1673 aspace->vnode->size = *pos; in dfs_aspace_write()