Lines Matching refs:ipage
64 void f2fs_do_read_inline_data(struct page *page, struct page *ipage)
76 memcpy_to_page(page, 0, inline_data_addr(inode, ipage),
83 struct page *ipage, u64 from)
90 addr = inline_data_addr(inode, ipage);
92 f2fs_wait_on_page_writeback(ipage, NODE, true, true);
94 set_page_dirty(ipage);
102 struct page *ipage;
104 ipage = f2fs_get_node_page(F2FS_I_SB(inode), inode->i_ino);
105 if (IS_ERR(ipage)) {
107 return PTR_ERR(ipage);
111 f2fs_put_page(ipage, 1);
118 f2fs_do_read_inline_data(page, ipage);
122 f2fs_put_page(ipage, 1);
203 struct page *ipage, *page;
219 ipage = f2fs_get_node_page(sbi, inode->i_ino);
220 if (IS_ERR(ipage)) {
221 err = PTR_ERR(ipage);
225 set_new_dnode(&dn, inode, ipage, ipage, 0);
279 struct page *ipage;
295 ipage = f2fs_get_node_page(sbi, inode->i_ino);
296 if (IS_ERR(ipage))
297 return PTR_ERR(ipage);
299 f2fs_wait_on_page_writeback(ipage, NODE, true, true);
302 dst_addr = inline_data_addr(inode, ipage);
308 set_page_dirty(ipage);
309 f2fs_put_page(ipage, 1);
314 ipage = f2fs_get_node_page(sbi, inode->i_ino);
315 if (IS_ERR(ipage))
316 return PTR_ERR(ipage);
317 f2fs_truncate_inline_inode(inode, ipage, 0);
319 f2fs_put_page(ipage, 1);
338 struct page *ipage;
341 ipage = f2fs_get_node_page(sbi, dir->i_ino);
342 if (IS_ERR(ipage)) {
343 *res_page = ipage;
347 inline_dentry = inline_data_addr(dir, ipage);
351 unlock_page(ipage);
353 *res_page = ipage;
355 f2fs_put_page(ipage, 0);
361 struct page *ipage)
366 inline_dentry = inline_data_addr(inode, ipage);
371 set_page_dirty(ipage);
380 * NOTE: ipage is grabbed by caller, but if any error occurs, we should
381 * release ipage in this function.
383 static int f2fs_move_inline_dirents(struct inode *dir, struct page *ipage,
394 f2fs_put_page(ipage, 1);
398 set_new_dnode(&dn, dir, ipage, NULL, 0);
435 f2fs_truncate_inline_inode(dir, ipage, 0);
508 static int f2fs_move_rehashed_dirents(struct inode *dir, struct page *ipage,
517 f2fs_put_page(ipage, 1);
522 f2fs_truncate_inline_inode(dir, ipage, 0);
524 unlock_page(ipage);
530 lock_page(ipage);
546 lock_page(ipage);
547 f2fs_wait_on_page_writeback(ipage, NODE, true, true);
551 set_page_dirty(ipage);
552 f2fs_put_page(ipage, 1);
558 static int do_convert_inline_dir(struct inode *dir, struct page *ipage,
562 return f2fs_move_inline_dirents(dir, ipage, inline_dentry);
564 return f2fs_move_rehashed_dirents(dir, ipage, inline_dentry);
570 struct page *ipage;
584 ipage = f2fs_get_node_page(sbi, dir->i_ino);
585 if (IS_ERR(ipage)) {
586 err = PTR_ERR(ipage);
590 if (f2fs_has_enough_room(dir, ipage, &fname)) {
591 f2fs_put_page(ipage, 1);
595 inline_dentry = inline_data_addr(dir, ipage);
597 err = do_convert_inline_dir(dir, ipage, inline_dentry);
599 f2fs_put_page(ipage, 1);
611 struct page *ipage;
619 ipage = f2fs_get_node_page(sbi, dir->i_ino);
620 if (IS_ERR(ipage))
621 return PTR_ERR(ipage);
623 inline_dentry = inline_data_addr(dir, ipage);
628 err = do_convert_inline_dir(dir, ipage, inline_dentry);
637 page = f2fs_init_inode_metadata(inode, dir, fname, ipage);
644 f2fs_wait_on_page_writeback(ipage, NODE, true, true);
649 set_page_dirty(ipage);
667 f2fs_put_page(ipage, 1);
703 struct page *ipage;
708 ipage = f2fs_get_node_page(sbi, dir->i_ino);
709 if (IS_ERR(ipage))
712 inline_dentry = inline_data_addr(dir, ipage);
717 f2fs_put_page(ipage, 1);
729 struct page *ipage = NULL;
739 ipage = f2fs_get_node_page(F2FS_I_SB(inode), inode->i_ino);
740 if (IS_ERR(ipage))
741 return PTR_ERR(ipage);
745 * ipage without page's lock held.
747 unlock_page(ipage);
749 inline_dentry = inline_data_addr(inode, ipage);
757 f2fs_put_page(ipage, 0);
768 struct page *ipage;
771 ipage = f2fs_get_node_page(F2FS_I_SB(inode), inode->i_ino);
772 if (IS_ERR(ipage))
773 return PTR_ERR(ipage);
798 byteaddr += (char *)inline_data_addr(inode, ipage) -
799 (char *)F2FS_INODE(ipage);
803 f2fs_put_page(ipage, 1);