Lines Matching refs:inode

72 		if (entry->inode->i_ino == ino)  in get_fsync_inode()
81 struct inode *inode; in add_fsync_inode() local
85 inode = f2fs_iget_retry(sbi->sb, ino); in add_fsync_inode()
86 if (IS_ERR(inode)) in add_fsync_inode()
87 return ERR_CAST(inode); in add_fsync_inode()
89 err = f2fs_dquot_initialize(inode); in add_fsync_inode()
94 err = dquot_alloc_inode(inode); in add_fsync_inode()
101 entry->inode = inode; in add_fsync_inode()
106 iput(inode); in add_fsync_inode()
114 f2fs_inode_synced(entry->inode); in del_fsync_inode()
116 iput(entry->inode); in del_fsync_inode()
121 static int init_recovered_filename(const struct inode *dir, in init_recovered_filename()
167 static int recover_dentry(struct inode *inode, struct page *ipage, in recover_dentry() argument
176 struct inode *dir, *einode; in recover_dentry()
183 entry = add_fsync_inode(F2FS_I_SB(inode), dir_list, in recover_dentry()
192 dir = entry->inode; in recover_dentry()
198 if (de && inode->i_ino == le32_to_cpu(de->ino)) in recover_dentry()
202 einode = f2fs_iget_retry(inode->i_sb, le32_to_cpu(de->ino)); in recover_dentry()
217 err = f2fs_acquire_orphan_inode(F2FS_I_SB(inode)); in recover_dentry()
228 err = f2fs_add_dentry(dir, &fname, inode, in recover_dentry()
229 inode->i_ino, inode->i_mode); in recover_dentry()
238 if (file_enc_name(inode)) in recover_dentry()
242 f2fs_notice(F2FS_I_SB(inode), "%s: ino = %x, name = %s, dir = %lx, err = %d", in recover_dentry()
248 static int recover_quota_data(struct inode *inode, struct page *page) in recover_quota_data() argument
258 attr.ia_vfsuid = VFSUIDT_INIT(make_kuid(inode->i_sb->s_user_ns, i_uid)); in recover_quota_data()
259 attr.ia_vfsgid = VFSGIDT_INIT(make_kgid(inode->i_sb->s_user_ns, i_gid)); in recover_quota_data()
261 if (!vfsuid_eq(attr.ia_vfsuid, i_uid_into_vfsuid(&nop_mnt_idmap, inode))) in recover_quota_data()
263 if (!vfsgid_eq(attr.ia_vfsgid, i_gid_into_vfsgid(&nop_mnt_idmap, inode))) in recover_quota_data()
269 err = dquot_transfer(&nop_mnt_idmap, inode, &attr); in recover_quota_data()
271 set_sbi_flag(F2FS_I_SB(inode), SBI_QUOTA_NEED_REPAIR); in recover_quota_data()
275 static void recover_inline_flags(struct inode *inode, struct f2fs_inode *ri) in recover_inline_flags() argument
278 set_inode_flag(inode, FI_PIN_FILE); in recover_inline_flags()
280 clear_inode_flag(inode, FI_PIN_FILE); in recover_inline_flags()
282 set_inode_flag(inode, FI_DATA_EXIST); in recover_inline_flags()
284 clear_inode_flag(inode, FI_DATA_EXIST); in recover_inline_flags()
287 static int recover_inode(struct inode *inode, struct page *page) in recover_inode() argument
293 inode->i_mode = le16_to_cpu(raw->i_mode); in recover_inode()
295 err = recover_quota_data(inode, page); in recover_inode()
299 i_uid_write(inode, le32_to_cpu(raw->i_uid)); in recover_inode()
300 i_gid_write(inode, le32_to_cpu(raw->i_gid)); in recover_inode()
303 if (f2fs_sb_has_project_quota(F2FS_I_SB(inode)) && in recover_inode()
312 if (!projid_eq(kprojid, F2FS_I(inode)->i_projid)) { in recover_inode()
313 err = f2fs_transfer_project_quota(inode, in recover_inode()
317 F2FS_I(inode)->i_projid = kprojid; in recover_inode()
322 f2fs_i_size_write(inode, le64_to_cpu(raw->i_size)); in recover_inode()
323 inode->i_atime.tv_sec = le64_to_cpu(raw->i_atime); in recover_inode()
324 inode_set_ctime(inode, le64_to_cpu(raw->i_ctime), in recover_inode()
326 inode->i_mtime.tv_sec = le64_to_cpu(raw->i_mtime); in recover_inode()
327 inode->i_atime.tv_nsec = le32_to_cpu(raw->i_atime_nsec); in recover_inode()
328 inode->i_mtime.tv_nsec = le32_to_cpu(raw->i_mtime_nsec); in recover_inode()
330 F2FS_I(inode)->i_advise = raw->i_advise; in recover_inode()
331 F2FS_I(inode)->i_flags = le32_to_cpu(raw->i_flags); in recover_inode()
332 f2fs_set_inode_flags(inode); in recover_inode()
333 F2FS_I(inode)->i_gc_failures[GC_FAILURE_PIN] = in recover_inode()
336 recover_inline_flags(inode, raw); in recover_inode()
338 f2fs_mark_inode_dirty_sync(inode, true); in recover_inode()
340 if (file_enc_name(inode)) in recover_inode()
345 f2fs_notice(F2FS_I_SB(inode), "recover_inode: ino = %x, name = %s, inline = %x", in recover_inode()
505 struct inode *inode; in check_index_in_prev_nodes() local
535 max_addrs = ADDRS_PER_PAGE(dn->node_page, dn->inode); in check_index_in_prev_nodes()
538 ofs_in_node, dn->inode->i_ino, nid, max_addrs); in check_index_in_prev_nodes()
543 if (dn->inode->i_ino == nid) { in check_index_in_prev_nodes()
564 if (ino != dn->inode->i_ino) { in check_index_in_prev_nodes()
568 inode = f2fs_iget_retry(sbi->sb, ino); in check_index_in_prev_nodes()
569 if (IS_ERR(inode)) in check_index_in_prev_nodes()
570 return PTR_ERR(inode); in check_index_in_prev_nodes()
572 ret = f2fs_dquot_initialize(inode); in check_index_in_prev_nodes()
574 iput(inode); in check_index_in_prev_nodes()
578 inode = dn->inode; in check_index_in_prev_nodes()
581 bidx = f2fs_start_bidx_of_node(offset, inode) + in check_index_in_prev_nodes()
588 if (ino == dn->inode->i_ino && dn->inode_page_locked) in check_index_in_prev_nodes()
591 set_new_dnode(&tdn, inode, NULL, NULL, 0); in check_index_in_prev_nodes()
600 if (ino != dn->inode->i_ino) in check_index_in_prev_nodes()
601 iput(inode); in check_index_in_prev_nodes()
609 if (dn->inode->i_ino == nid && !dn->inode_page_locked) in check_index_in_prev_nodes()
627 static int do_recover_data(struct f2fs_sb_info *sbi, struct inode *inode, in do_recover_data() argument
637 err = f2fs_recover_inline_xattr(inode, page); in do_recover_data()
641 err = f2fs_recover_xattr_data(inode, page); in do_recover_data()
648 err = f2fs_recover_inline_data(inode, page); in do_recover_data()
656 start = f2fs_start_bidx_of_node(ofs_of_node(page), inode); in do_recover_data()
657 end = start + ADDRS_PER_PAGE(page, inode); in do_recover_data()
659 set_new_dnode(&dn, inode, NULL, NULL, 0); in do_recover_data()
680 inode->i_ino, ofs_of_node(dn.node_page), in do_recover_data()
691 dest = data_blkaddr(dn.inode, page, dn.ofs_in_node); in do_recover_data()
717 if (!file_keep_isize(inode) && in do_recover_data()
718 (i_size_read(inode) <= ((loff_t)start << PAGE_SHIFT))) in do_recover_data()
719 f2fs_i_size_write(inode, in do_recover_data()
756 dest, inode->i_ino, dn.ofs_in_node); in do_recover_data()
778 inode->i_ino, file_keep_isize(inode) ? "keep" : "recover", in do_recover_data()
822 err = recover_inode(entry->inode, page); in recover_data()
829 err = recover_dentry(entry->inode, page, dir_list); in recover_data()
835 err = do_recover_data(sbi, entry->inode, page); in recover_data()