Lines Matching refs:page

43 static int ufs_commit_chunk(struct page *page, loff_t pos, unsigned len)  in ufs_commit_chunk()  argument
45 struct address_space *mapping = page->mapping; in ufs_commit_chunk()
50 block_write_end(NULL, mapping, pos, len, len, page, NULL); in ufs_commit_chunk()
56 err = write_one_page(page, 1); in ufs_commit_chunk()
58 unlock_page(page); in ufs_commit_chunk()
62 static inline void ufs_put_page(struct page *page) in ufs_put_page() argument
64 kunmap(page); in ufs_put_page()
65 page_cache_release(page); in ufs_put_page()
72 struct page *page; in ufs_inode_by_name() local
74 de = ufs_find_entry(dir, qstr, &page); in ufs_inode_by_name()
77 ufs_put_page(page); in ufs_inode_by_name()
85 struct page *page, struct inode *inode, in ufs_set_link() argument
88 loff_t pos = page_offset(page) + in ufs_set_link()
89 (char *) de - (char *) page_address(page); in ufs_set_link()
93 lock_page(page); in ufs_set_link()
94 err = ufs_prepare_chunk(page, pos, len); in ufs_set_link()
100 err = ufs_commit_chunk(page, pos, len); in ufs_set_link()
101 ufs_put_page(page); in ufs_set_link()
108 static void ufs_check_page(struct page *page) in ufs_check_page() argument
110 struct inode *dir = page->mapping->host; in ufs_check_page()
112 char *kaddr = page_address(page); in ufs_check_page()
119 if ((dir->i_size >> PAGE_CACHE_SHIFT) == page->index) { in ufs_check_page()
145 SetPageChecked(page); in ufs_check_page()
173 dir->i_ino, error, (page->index<<PAGE_CACHE_SHIFT)+offs, in ufs_check_page()
181 dir->i_ino, (page->index<<PAGE_CACHE_SHIFT)+offs); in ufs_check_page()
183 SetPageChecked(page); in ufs_check_page()
184 SetPageError(page); in ufs_check_page()
187 static struct page *ufs_get_page(struct inode *dir, unsigned long n) in ufs_get_page()
190 struct page *page = read_mapping_page(mapping, n, NULL); in ufs_get_page() local
191 if (!IS_ERR(page)) { in ufs_get_page()
192 kmap(page); in ufs_get_page()
193 if (!PageChecked(page)) in ufs_get_page()
194 ufs_check_page(page); in ufs_get_page()
195 if (PageError(page)) in ufs_get_page()
198 return page; in ufs_get_page()
201 ufs_put_page(page); in ufs_get_page()
227 struct ufs_dir_entry *ufs_dotdot(struct inode *dir, struct page **p) in ufs_dotdot()
229 struct page *page = ufs_get_page(dir, 0); in ufs_dotdot() local
232 if (!IS_ERR(page)) { in ufs_dotdot()
234 (struct ufs_dir_entry *)page_address(page)); in ufs_dotdot()
235 *p = page; in ufs_dotdot()
249 struct page **res_page) in ufs_find_entry()
257 struct page *page = NULL; in ufs_find_entry() local
276 page = ufs_get_page(dir, n); in ufs_find_entry()
277 if (!IS_ERR(page)) { in ufs_find_entry()
278 kaddr = page_address(page); in ufs_find_entry()
285 ufs_put_page(page); in ufs_find_entry()
292 ufs_put_page(page); in ufs_find_entry()
301 *res_page = page; in ufs_find_entry()
318 struct page *page = NULL; in ufs_add_link() local
336 page = ufs_get_page(dir, n); in ufs_add_link()
337 err = PTR_ERR(page); in ufs_add_link()
338 if (IS_ERR(page)) in ufs_add_link()
340 lock_page(page); in ufs_add_link()
341 kaddr = page_address(page); in ufs_add_link()
371 unlock_page(page); in ufs_add_link()
372 ufs_put_page(page); in ufs_add_link()
378 pos = page_offset(page) + in ufs_add_link()
379 (char*)de - (char*)page_address(page); in ufs_add_link()
380 err = ufs_prepare_chunk(page, pos, rec_len); in ufs_add_link()
397 err = ufs_commit_chunk(page, pos, rec_len); in ufs_add_link()
403 ufs_put_page(page); in ufs_add_link()
407 unlock_page(page); in ufs_add_link()
451 struct page *page = ufs_get_page(inode, n); in ufs_readdir() local
453 if (IS_ERR(page)) { in ufs_readdir()
460 kaddr = page_address(page); in ufs_readdir()
475 ufs_put_page(page); in ufs_readdir()
492 ufs_put_page(page); in ufs_readdir()
498 ufs_put_page(page); in ufs_readdir()
509 struct page * page) in ufs_delete_entry() argument
512 char *kaddr = page_address(page); in ufs_delete_entry()
538 from = (char*)pde - (char*)page_address(page); in ufs_delete_entry()
540 pos = page_offset(page) + from; in ufs_delete_entry()
541 lock_page(page); in ufs_delete_entry()
542 err = ufs_prepare_chunk(page, pos, to - from); in ufs_delete_entry()
547 err = ufs_commit_chunk(page, pos, to - from); in ufs_delete_entry()
551 ufs_put_page(page); in ufs_delete_entry()
560 struct page *page = grab_cache_page(mapping, 0); in ufs_make_empty() local
566 if (!page) in ufs_make_empty()
569 err = ufs_prepare_chunk(page, 0, chunk_size); in ufs_make_empty()
571 unlock_page(page); in ufs_make_empty()
575 kmap(page); in ufs_make_empty()
576 base = (char*)page_address(page); in ufs_make_empty()
593 kunmap(page); in ufs_make_empty()
595 err = ufs_commit_chunk(page, 0, chunk_size); in ufs_make_empty()
597 page_cache_release(page); in ufs_make_empty()
607 struct page *page = NULL; in ufs_empty_dir() local
613 page = ufs_get_page(inode, i); in ufs_empty_dir()
615 if (IS_ERR(page)) in ufs_empty_dir()
618 kaddr = page_address(page); in ufs_empty_dir()
645 ufs_put_page(page); in ufs_empty_dir()
650 ufs_put_page(page); in ufs_empty_dir()