Lines Matching refs:inode

56 			      struct inode *dir,
57 struct inode *inode,
65 struct inode **ret_orphan_dir,
73 struct inode *inode,
77 struct inode *orphan_dir_inode,
82 struct inode *inode,
87 struct inode *inode1,
89 struct inode *inode2,
92 static void ocfs2_double_unlock(struct inode *inode1, struct inode *inode2);
96 static struct dentry *ocfs2_lookup(struct inode *dir, struct dentry *dentry, in ocfs2_lookup()
101 struct inode *inode = NULL; in ocfs2_lookup() local
127 inode = ocfs2_iget(OCFS2_SB(dir->i_sb), blkno, 0, 0); in ocfs2_lookup()
128 if (IS_ERR(inode)) { in ocfs2_lookup()
133 oi = OCFS2_I(inode); in ocfs2_lookup()
144 ret = d_splice_alias(inode, dentry); in ocfs2_lookup()
146 if (inode) { in ocfs2_lookup()
160 status = ocfs2_dentry_attach_lock(dentry, inode, in ocfs2_lookup()
184 static struct inode *ocfs2_get_init_inode(struct inode *dir, umode_t mode) in ocfs2_get_init_inode()
186 struct inode *inode; in ocfs2_get_init_inode() local
189 inode = new_inode(dir->i_sb); in ocfs2_get_init_inode()
190 if (!inode) { in ocfs2_get_init_inode()
199 set_nlink(inode, 2); in ocfs2_get_init_inode()
201 inode_init_owner(&nop_mnt_idmap, inode, dir, mode); in ocfs2_get_init_inode()
202 status = dquot_initialize(inode); in ocfs2_get_init_inode()
206 return inode; in ocfs2_get_init_inode()
210 struct dentry *dentry, struct inode *inode) in ocfs2_cleanup_add_entry_failure() argument
221 iput(inode); in ocfs2_cleanup_add_entry_failure()
225 struct inode *dir, in ocfs2_mknod()
237 struct inode *inode = NULL; in ocfs2_mknod() local
308 inode = ocfs2_get_init_inode(dir, mode); in ocfs2_mknod()
309 if (IS_ERR(inode)) { in ocfs2_mknod()
310 status = PTR_ERR(inode); in ocfs2_mknod()
311 inode = NULL; in ocfs2_mknod()
317 status = ocfs2_init_security_get(inode, dir, &dentry->d_name, &si); in ocfs2_mknod()
373 status = dquot_alloc_inode(inode); in ocfs2_mknod()
379 status = ocfs2_mknod_locked(osb, dir, inode, dev, in ocfs2_mknod()
389 status = ocfs2_fill_new_dir(osb, handle, dir, inode, in ocfs2_mknod()
408 status = ocfs2_init_acl(handle, inode, dir, new_fe_bh, parent_fe_bh, in ocfs2_mknod()
417 status = ocfs2_init_security_set(handle, inode, new_fe_bh, &si, in ocfs2_mknod()
430 status = ocfs2_dentry_attach_lock(dentry, inode, in ocfs2_mknod()
439 status = ocfs2_add_entry(handle, dentry, inode, in ocfs2_mknod()
440 OCFS2_I(inode)->ip_blkno, parent_fe_bh, in ocfs2_mknod()
447 insert_inode_hash(inode); in ocfs2_mknod()
448 d_instantiate(dentry, inode); in ocfs2_mknod()
459 dquot_free_inode(inode); in ocfs2_mknod()
490 if ((status < 0) && inode) { in ocfs2_mknod()
492 ocfs2_cleanup_add_entry_failure(osb, dentry, inode); in ocfs2_mknod()
494 OCFS2_I(inode)->ip_flags |= OCFS2_INODE_SKIP_ORPHAN_DIR; in ocfs2_mknod()
495 clear_nlink(inode); in ocfs2_mknod()
496 iput(inode); in ocfs2_mknod()
505 static int __ocfs2_mknod_locked(struct inode *dir, in __ocfs2_mknod_locked()
506 struct inode *inode, in __ocfs2_mknod_locked() argument
519 struct ocfs2_inode_info *oi = OCFS2_I(inode); in __ocfs2_mknod_locked()
527 inode->i_ino = ino_from_blkno(osb->sb, fe_blkno); in __ocfs2_mknod_locked()
530 inode->i_generation = osb->s_next_generation++; in __ocfs2_mknod_locked()
539 ocfs2_set_new_buffer_uptodate(INODE_CACHE(inode), *new_fe_bh); in __ocfs2_mknod_locked()
541 status = ocfs2_journal_access_di(handle, INODE_CACHE(inode), in __ocfs2_mknod_locked()
552 fe->i_generation = cpu_to_le32(inode->i_generation); in __ocfs2_mknod_locked()
558 fe->i_uid = cpu_to_le32(i_uid_read(inode)); in __ocfs2_mknod_locked()
559 fe->i_gid = cpu_to_le32(i_gid_read(inode)); in __ocfs2_mknod_locked()
560 fe->i_mode = cpu_to_le16(inode->i_mode); in __ocfs2_mknod_locked()
561 if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) in __ocfs2_mknod_locked()
564 ocfs2_set_links_count(fe, inode->i_nlink); in __ocfs2_mknod_locked()
581 if (S_ISDIR(inode->i_mode) && ocfs2_supports_inline_data(osb)) { in __ocfs2_mknod_locked()
595 ocfs2_populate_inode(inode, fe, 1); in __ocfs2_mknod_locked()
596 ocfs2_ci_set_new(osb, INODE_CACHE(inode)); in __ocfs2_mknod_locked()
598 status = ocfs2_create_new_inode_locks(inode); in __ocfs2_mknod_locked()
603 ocfs2_update_inode_fsync_trans(handle, inode, 1); in __ocfs2_mknod_locked()
619 struct inode *dir, in ocfs2_mknod_locked()
620 struct inode *inode, in ocfs2_mknod_locked() argument
641 return __ocfs2_mknod_locked(dir, inode, dev, new_fe_bh, in ocfs2_mknod_locked()
647 struct inode *dir, in ocfs2_mkdir()
663 struct inode *dir, in ocfs2_create()
680 struct inode *dir, in ocfs2_link()
684 struct inode *inode = d_inode(old_dentry); in ocfs2_link() local
685 struct inode *old_dir = d_inode(old_dentry->d_parent); in ocfs2_link()
696 trace_ocfs2_link((unsigned long long)OCFS2_I(inode)->ip_blkno, in ocfs2_link()
700 if (S_ISDIR(inode->i_mode)) in ocfs2_link()
746 if (old_de_ino != OCFS2_I(inode)->ip_blkno) { in ocfs2_link()
764 err = ocfs2_inode_lock(inode, &fe_bh, 1); in ocfs2_link()
788 err = ocfs2_journal_access_di(handle, INODE_CACHE(inode), fe_bh, in ocfs2_link()
795 inc_nlink(inode); in ocfs2_link()
796 inode_set_ctime_current(inode); in ocfs2_link()
797 ocfs2_set_links_count(fe, inode->i_nlink); in ocfs2_link()
798 fe->i_ctime = cpu_to_le64(inode_get_ctime_sec(inode)); in ocfs2_link()
799 fe->i_ctime_nsec = cpu_to_le32(inode_get_ctime_nsec(inode)); in ocfs2_link()
800 ocfs2_update_inode_fsync_trans(handle, inode, 0); in ocfs2_link()
803 err = ocfs2_add_entry(handle, dentry, inode, in ocfs2_link()
804 OCFS2_I(inode)->ip_blkno, in ocfs2_link()
808 drop_nlink(inode); in ocfs2_link()
813 err = ocfs2_dentry_attach_lock(dentry, inode, OCFS2_I(dir)->ip_blkno); in ocfs2_link()
819 ihold(inode); in ocfs2_link()
820 d_instantiate(dentry, inode); in ocfs2_link()
826 ocfs2_inode_unlock(inode, 1); in ocfs2_link()
860 static inline int ocfs2_inode_is_unlinkable(struct inode *inode) in ocfs2_inode_is_unlinkable() argument
862 if (S_ISDIR(inode->i_mode)) { in ocfs2_inode_is_unlinkable()
863 if (inode->i_nlink == 2) in ocfs2_inode_is_unlinkable()
868 if (inode->i_nlink == 1) in ocfs2_inode_is_unlinkable()
873 static int ocfs2_unlink(struct inode *dir, in ocfs2_unlink()
879 struct inode *inode = d_inode(dentry); in ocfs2_unlink() local
880 struct inode *orphan_dir = NULL; in ocfs2_unlink()
894 (unsigned long long)OCFS2_I(inode)->ip_blkno); in ocfs2_unlink()
904 if (inode == osb->root_inode) in ocfs2_unlink()
924 if (OCFS2_I(inode)->ip_blkno != blkno) { in ocfs2_unlink()
928 (unsigned long long)OCFS2_I(inode)->ip_blkno, in ocfs2_unlink()
930 OCFS2_I(inode)->ip_flags); in ocfs2_unlink()
934 status = ocfs2_inode_lock(inode, &fe_bh, 1); in ocfs2_unlink()
942 if (S_ISDIR(inode->i_mode)) { in ocfs2_unlink()
943 if (inode->i_nlink != 2 || !ocfs2_empty_dir(inode)) { in ocfs2_unlink()
957 if (ocfs2_inode_is_unlinkable(inode)) { in ocfs2_unlink()
959 OCFS2_I(inode)->ip_blkno, in ocfs2_unlink()
977 status = ocfs2_journal_access_di(handle, INODE_CACHE(inode), fe_bh, in ocfs2_unlink()
993 if (S_ISDIR(inode->i_mode)) in ocfs2_unlink()
994 drop_nlink(inode); in ocfs2_unlink()
995 drop_nlink(inode); in ocfs2_unlink()
996 ocfs2_set_links_count(fe, inode->i_nlink); in ocfs2_unlink()
997 ocfs2_update_inode_fsync_trans(handle, inode, 0); in ocfs2_unlink()
1001 if (S_ISDIR(inode->i_mode)) in ocfs2_unlink()
1007 if (S_ISDIR(inode->i_mode)) in ocfs2_unlink()
1013 status = ocfs2_orphan_add(osb, handle, inode, fe_bh, in ocfs2_unlink()
1031 ocfs2_inode_unlock(inode, 1); in ocfs2_unlink()
1053 struct inode *child_inode; in ocfs2_check_if_ancestor()
1112 struct inode *inode1, in ocfs2_double_lock()
1114 struct inode *inode2, in ocfs2_double_lock()
1192 static void ocfs2_double_unlock(struct inode *inode1, struct inode *inode2) in ocfs2_double_unlock()
1201 struct inode *old_dir, in ocfs2_rename()
1203 struct inode *new_dir, in ocfs2_rename()
1209 struct inode *old_inode = d_inode(old_dentry); in ocfs2_rename()
1210 struct inode *new_inode = d_inode(new_dentry); in ocfs2_rename()
1211 struct inode *orphan_dir = NULL; in ocfs2_rename()
1699 struct inode *inode, in ocfs2_create_symlink_data() argument
1708 bytes_left = i_size_read(inode) + 1; in ocfs2_create_symlink_data()
1713 trace_ocfs2_create_symlink_data((unsigned long long)inode->i_blocks, in ocfs2_create_symlink_data()
1714 i_size_read(inode), blocks); in ocfs2_create_symlink_data()
1718 ocfs2_clusters_to_bytes(sb, OCFS2_I(inode)->ip_clusters)) { in ocfs2_create_symlink_data()
1731 status = ocfs2_extent_map_get_blocks(inode, 0, &p_blkno, &p_blocks, in ocfs2_create_symlink_data()
1757 ocfs2_set_new_buffer_uptodate(INODE_CACHE(inode), in ocfs2_create_symlink_data()
1760 status = ocfs2_journal_access(handle, INODE_CACHE(inode), in ocfs2_create_symlink_data()
1796 struct inode *dir, in ocfs2_symlink()
1803 struct inode *inode = NULL; in ocfs2_symlink() local
1876 inode = ocfs2_get_init_inode(dir, S_IFLNK | S_IRWXUGO); in ocfs2_symlink()
1877 if (IS_ERR(inode)) { in ocfs2_symlink()
1878 status = PTR_ERR(inode); in ocfs2_symlink()
1879 inode = NULL; in ocfs2_symlink()
1885 status = ocfs2_init_security_get(inode, dir, &dentry->d_name, &si); in ocfs2_symlink()
1928 status = dquot_alloc_inode(inode); in ocfs2_symlink()
1936 inode->i_mode); in ocfs2_symlink()
1938 status = ocfs2_mknod_locked(osb, dir, inode, in ocfs2_symlink()
1947 inode->i_rdev = 0; in ocfs2_symlink()
1949 inode->i_op = &ocfs2_symlink_inode_operations; in ocfs2_symlink()
1950 inode_nohighmem(inode); in ocfs2_symlink()
1954 status = dquot_alloc_space_nodirty(inode, in ocfs2_symlink()
1959 inode->i_mapping->a_ops = &ocfs2_aops; in ocfs2_symlink()
1960 status = ocfs2_add_inode_data(osb, inode, &offset, 1, 0, in ocfs2_symlink()
1974 i_size_write(inode, newsize); in ocfs2_symlink()
1975 inode->i_blocks = ocfs2_inode_sector_count(inode); in ocfs2_symlink()
1977 inode->i_mapping->a_ops = &ocfs2_fast_symlink_aops; in ocfs2_symlink()
1979 i_size_write(inode, newsize); in ocfs2_symlink()
1980 inode->i_blocks = 0; in ocfs2_symlink()
1983 status = ocfs2_mark_inode_dirty(handle, inode, new_fe_bh); in ocfs2_symlink()
1989 if (!ocfs2_inode_is_fast_symlink(inode)) { in ocfs2_symlink()
1990 status = ocfs2_create_symlink_data(osb, handle, inode, in ocfs2_symlink()
1999 status = ocfs2_init_security_set(handle, inode, new_fe_bh, &si, in ocfs2_symlink()
2012 status = ocfs2_dentry_attach_lock(dentry, inode, OCFS2_I(dir)->ip_blkno); in ocfs2_symlink()
2020 status = ocfs2_add_entry(handle, dentry, inode, in ocfs2_symlink()
2028 insert_inode_hash(inode); in ocfs2_symlink()
2029 d_instantiate(dentry, inode); in ocfs2_symlink()
2032 dquot_free_space_nodirty(inode, in ocfs2_symlink()
2035 dquot_free_inode(inode); in ocfs2_symlink()
2056 if ((status < 0) && inode) { in ocfs2_symlink()
2058 ocfs2_cleanup_add_entry_failure(osb, dentry, inode); in ocfs2_symlink()
2060 OCFS2_I(inode)->ip_flags |= OCFS2_INODE_SKIP_ORPHAN_DIR; in ocfs2_symlink()
2061 clear_nlink(inode); in ocfs2_symlink()
2062 iput(inode); in ocfs2_symlink()
2101 struct inode **ret_orphan_dir, in ocfs2_lookup_lock_orphan_dir()
2104 struct inode *orphan_dir_inode; in ocfs2_lookup_lock_orphan_dir()
2134 static int __ocfs2_prepare_orphan_dir(struct inode *orphan_dir_inode, in __ocfs2_prepare_orphan_dir()
2191 struct inode **ret_orphan_dir, in ocfs2_prepare_orphan_dir()
2197 struct inode *orphan_dir_inode = NULL; in ocfs2_prepare_orphan_dir()
2233 struct inode *inode, in ocfs2_orphan_add() argument
2237 struct inode *orphan_dir_inode, in ocfs2_orphan_add()
2249 (unsigned long long)OCFS2_I(inode)->ip_blkno); in ocfs2_orphan_add()
2273 INODE_CACHE(inode), in ocfs2_orphan_add()
2284 if (S_ISDIR(inode->i_mode)) in ocfs2_orphan_add()
2290 namelen, inode, in ocfs2_orphan_add()
2291 OCFS2_I(inode)->ip_blkno, in ocfs2_orphan_add()
2306 OCFS2_I(inode)->ip_flags &= ~OCFS2_INODE_SKIP_ORPHAN_DIR; in ocfs2_orphan_add()
2316 trace_ocfs2_orphan_add_end((unsigned long long)OCFS2_I(inode)->ip_blkno, in ocfs2_orphan_add()
2321 if (S_ISDIR(inode->i_mode)) in ocfs2_orphan_add()
2335 struct inode *orphan_dir_inode, in ocfs2_orphan_del()
2336 struct inode *inode, in ocfs2_orphan_del() argument
2354 status = ocfs2_blkno_stringify(OCFS2_I(inode)->ip_blkno, in ocfs2_orphan_del()
2357 status = ocfs2_blkno_stringify(OCFS2_I(inode)->ip_blkno, name); in ocfs2_orphan_del()
2393 if (S_ISDIR(inode->i_mode)) in ocfs2_orphan_del()
2431 static int ocfs2_prep_new_orphaned_file(struct inode *dir, in ocfs2_prep_new_orphaned_file()
2434 struct inode **ret_orphan_dir, in ocfs2_prep_new_orphaned_file()
2442 struct inode *orphan_dir = NULL; in ocfs2_prep_new_orphaned_file()
2500 int ocfs2_create_inode_in_orphan(struct inode *dir, in ocfs2_create_inode_in_orphan()
2502 struct inode **new_inode) in ocfs2_create_inode_in_orphan()
2505 struct inode *inode = NULL; in ocfs2_create_inode_in_orphan() local
2506 struct inode *orphan_dir = NULL; in ocfs2_create_inode_in_orphan()
2533 inode = ocfs2_get_init_inode(dir, mode); in ocfs2_create_inode_in_orphan()
2534 if (IS_ERR(inode)) { in ocfs2_create_inode_in_orphan()
2535 status = PTR_ERR(inode); in ocfs2_create_inode_in_orphan()
2536 inode = NULL; in ocfs2_create_inode_in_orphan()
2549 status = dquot_alloc_inode(inode); in ocfs2_create_inode_in_orphan()
2562 clear_nlink(inode); in ocfs2_create_inode_in_orphan()
2564 status = __ocfs2_mknod_locked(dir, inode, in ocfs2_create_inode_in_orphan()
2573 status = ocfs2_orphan_add(osb, handle, inode, new_di_bh, orphan_name, in ocfs2_create_inode_in_orphan()
2581 status = ocfs2_open_lock(inode); in ocfs2_create_inode_in_orphan()
2585 insert_inode_hash(inode); in ocfs2_create_inode_in_orphan()
2588 dquot_free_inode(inode); in ocfs2_create_inode_in_orphan()
2599 if ((status < 0) && inode) { in ocfs2_create_inode_in_orphan()
2600 clear_nlink(inode); in ocfs2_create_inode_in_orphan()
2601 iput(inode); in ocfs2_create_inode_in_orphan()
2610 *new_inode = inode; in ocfs2_create_inode_in_orphan()
2620 struct inode *inode) in ocfs2_add_inode_to_orphan() argument
2623 struct inode *orphan_dir_inode = NULL; in ocfs2_add_inode_to_orphan()
2630 status = ocfs2_inode_lock(inode, &di_bh, 1); in ocfs2_add_inode_to_orphan()
2642 status = ocfs2_truncate_file(inode, di_bh, i_size_read(inode)); in ocfs2_add_inode_to_orphan()
2649 status = ocfs2_del_inode_from_orphan(osb, inode, di_bh, 0, 0); in ocfs2_add_inode_to_orphan()
2657 OCFS2_I(inode)->ip_blkno, in ocfs2_add_inode_to_orphan()
2673 status = ocfs2_orphan_add(osb, handle, inode, di_bh, orphan_name, in ocfs2_add_inode_to_orphan()
2688 ocfs2_inode_unlock(inode, 1); in ocfs2_add_inode_to_orphan()
2696 struct inode *inode, struct buffer_head *di_bh, in ocfs2_del_inode_from_orphan() argument
2699 struct inode *orphan_dir_inode = NULL; in ocfs2_del_inode_from_orphan()
2733 inode, orphan_dir_bh, true); in ocfs2_del_inode_from_orphan()
2740 INODE_CACHE(inode), in ocfs2_del_inode_from_orphan()
2752 status = ocfs2_set_inode_size(handle, inode, di_bh, end); in ocfs2_del_inode_from_orphan()
2771 int ocfs2_mv_orphaned_inode_to_new(struct inode *dir, in ocfs2_mv_orphaned_inode_to_new()
2772 struct inode *inode, in ocfs2_mv_orphaned_inode_to_new() argument
2780 struct inode *orphan_dir_inode = NULL; in ocfs2_mv_orphaned_inode_to_new()
2788 (unsigned long long)OCFS2_I(inode)->ip_blkno); in ocfs2_mv_orphaned_inode_to_new()
2837 status = ocfs2_read_inode_block(inode, &di_bh); in ocfs2_mv_orphaned_inode_to_new()
2851 status = ocfs2_journal_access_di(handle, INODE_CACHE(inode), in ocfs2_mv_orphaned_inode_to_new()
2858 status = ocfs2_orphan_del(osb, handle, orphan_dir_inode, inode, in ocfs2_mv_orphaned_inode_to_new()
2868 set_nlink(inode, 1); in ocfs2_mv_orphaned_inode_to_new()
2869 ocfs2_set_links_count(di, inode->i_nlink); in ocfs2_mv_orphaned_inode_to_new()
2870 ocfs2_update_inode_fsync_trans(handle, inode, 1); in ocfs2_mv_orphaned_inode_to_new()
2873 status = ocfs2_add_entry(handle, dentry, inode, in ocfs2_mv_orphaned_inode_to_new()
2874 OCFS2_I(inode)->ip_blkno, parent_di_bh, in ocfs2_mv_orphaned_inode_to_new()
2881 status = ocfs2_dentry_attach_lock(dentry, inode, in ocfs2_mv_orphaned_inode_to_new()
2888 d_instantiate(dentry, inode); in ocfs2_mv_orphaned_inode_to_new()