Lines Matching defs:ipage
36 static bool inode_has_blocks(struct inode *inode, struct page *ipage)
38 struct f2fs_inode *ri = F2FS_INODE(ipage);
51 bool f2fs_sanity_check_inline_data(struct inode *inode, struct page *ipage)
56 if (inode_has_blocks(inode, ipage))
82 void f2fs_do_read_inline_data(struct folio *folio, struct page *ipage)
94 memcpy_to_folio(folio, 0, inline_data_addr(inode, ipage),
101 struct page *ipage, u64 from)
108 addr = inline_data_addr(inode, ipage);
110 f2fs_wait_on_page_writeback(ipage, NODE, true, true);
112 set_page_dirty(ipage);
120 struct page *ipage;
122 ipage = f2fs_get_node_page(F2FS_I_SB(inode), inode->i_ino);
123 if (IS_ERR(ipage)) {
125 return PTR_ERR(ipage);
129 f2fs_put_page(ipage, 1);
136 f2fs_do_read_inline_data(folio, ipage);
140 f2fs_put_page(ipage, 1);
221 struct page *ipage, *page;
240 ipage = f2fs_get_node_page(sbi, inode->i_ino);
241 if (IS_ERR(ipage)) {
242 err = PTR_ERR(ipage);
246 set_new_dnode(&dn, inode, ipage, ipage, 0);
266 struct page *ipage;
268 ipage = f2fs_get_node_page(sbi, inode->i_ino);
269 if (IS_ERR(ipage))
270 return PTR_ERR(ipage);
273 f2fs_put_page(ipage, 1);
279 f2fs_wait_on_page_writeback(ipage, NODE, true, true);
280 memcpy_from_folio(inline_data_addr(inode, ipage),
282 set_page_dirty(ipage);
289 clear_page_private_inline(ipage);
290 f2fs_put_page(ipage, 1);
299 struct page *ipage;
315 ipage = f2fs_get_node_page(sbi, inode->i_ino);
316 if (IS_ERR(ipage))
317 return PTR_ERR(ipage);
319 f2fs_wait_on_page_writeback(ipage, NODE, true, true);
322 dst_addr = inline_data_addr(inode, ipage);
328 set_page_dirty(ipage);
329 f2fs_put_page(ipage, 1);
334 ipage = f2fs_get_node_page(sbi, inode->i_ino);
335 if (IS_ERR(ipage))
336 return PTR_ERR(ipage);
337 f2fs_truncate_inline_inode(inode, ipage, 0);
340 f2fs_put_page(ipage, 1);
361 struct page *ipage;
364 ipage = f2fs_get_node_page(sbi, dir->i_ino);
365 if (IS_ERR(ipage)) {
366 *res_page = ipage;
370 inline_dentry = inline_data_addr(dir, ipage);
374 unlock_page(ipage);
380 *res_page = ipage;
382 f2fs_put_page(ipage, 0);
388 struct page *ipage)
393 inline_dentry = inline_data_addr(inode, ipage);
398 set_page_dirty(ipage);
407 * NOTE: ipage is grabbed by caller, but if any error occurs, we should
408 * release ipage in this function.
410 static int f2fs_move_inline_dirents(struct inode *dir, struct page *ipage,
421 f2fs_put_page(ipage, 1);
425 set_new_dnode(&dn, dir, ipage, NULL, 0);
463 f2fs_truncate_inline_inode(dir, ipage, 0);
536 static int f2fs_move_rehashed_dirents(struct inode *dir, struct page *ipage,
545 f2fs_put_page(ipage, 1);
550 f2fs_truncate_inline_inode(dir, ipage, 0);
552 unlock_page(ipage);
558 lock_page(ipage);
574 lock_page(ipage);
575 f2fs_wait_on_page_writeback(ipage, NODE, true, true);
579 set_page_dirty(ipage);
580 f2fs_put_page(ipage, 1);
586 static int do_convert_inline_dir(struct inode *dir, struct page *ipage,
590 return f2fs_move_inline_dirents(dir, ipage, inline_dentry);
592 return f2fs_move_rehashed_dirents(dir, ipage, inline_dentry);
598 struct page *ipage;
612 ipage = f2fs_get_node_page(sbi, dir->i_ino);
613 if (IS_ERR(ipage)) {
614 err = PTR_ERR(ipage);
618 if (f2fs_has_enough_room(dir, ipage, &fname)) {
619 f2fs_put_page(ipage, 1);
623 inline_dentry = inline_data_addr(dir, ipage);
625 err = do_convert_inline_dir(dir, ipage, inline_dentry);
627 f2fs_put_page(ipage, 1);
639 struct page *ipage;
647 ipage = f2fs_get_node_page(sbi, dir->i_ino);
648 if (IS_ERR(ipage))
649 return PTR_ERR(ipage);
651 inline_dentry = inline_data_addr(dir, ipage);
656 err = do_convert_inline_dir(dir, ipage, inline_dentry);
666 page = f2fs_init_inode_metadata(inode, dir, fname, ipage);
673 f2fs_wait_on_page_writeback(ipage, NODE, true, true);
678 set_page_dirty(ipage);
696 f2fs_put_page(ipage, 1);
732 struct page *ipage;
737 ipage = f2fs_get_node_page(sbi, dir->i_ino);
738 if (IS_ERR(ipage))
741 inline_dentry = inline_data_addr(dir, ipage);
746 f2fs_put_page(ipage, 1);
758 struct page *ipage = NULL;
768 ipage = f2fs_get_node_page(F2FS_I_SB(inode), inode->i_ino);
769 if (IS_ERR(ipage))
770 return PTR_ERR(ipage);
774 * ipage without page's lock held.
776 unlock_page(ipage);
778 inline_dentry = inline_data_addr(inode, ipage);
786 f2fs_put_page(ipage, 0);
797 struct page *ipage;
800 ipage = f2fs_get_node_page(F2FS_I_SB(inode), inode->i_ino);
801 if (IS_ERR(ipage))
802 return PTR_ERR(ipage);
827 byteaddr += (char *)inline_data_addr(inode, ipage) -
828 (char *)F2FS_INODE(ipage);
832 f2fs_put_page(ipage, 1);