Lines Matching refs:inode
29 void udf_free_inode(struct inode *inode) in udf_free_inode() argument
31 struct super_block *sb = inode->i_sb; in udf_free_inode()
37 if (S_ISDIR(inode->i_mode)) in udf_free_inode()
45 udf_free_blocks(sb, NULL, &UDF_I(inode)->i_location, 0, 1); in udf_free_inode()
48 struct inode *udf_new_inode(struct inode *dir, umode_t mode) in udf_new_inode()
52 struct inode *inode; in udf_new_inode() local
60 inode = new_inode(sb); in udf_new_inode()
62 if (!inode) in udf_new_inode()
65 iinfo = UDF_I(inode); in udf_new_inode()
66 if (UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_USE_EXTENDED_FE)) { in udf_new_inode()
70 iinfo->i_ext.i_data = kzalloc(inode->i_sb->s_blocksize - in udf_new_inode()
75 iinfo->i_ext.i_data = kzalloc(inode->i_sb->s_blocksize - in udf_new_inode()
80 iput(inode); in udf_new_inode()
89 iput(inode); in udf_new_inode()
96 inode->i_generation = iinfo->i_unique; in udf_new_inode()
106 inode_init_owner(inode, dir, mode); in udf_new_inode()
111 inode->i_ino = udf_get_lb_pblock(sb, &iinfo->i_location, 0); in udf_new_inode()
112 inode->i_blocks = 0; in udf_new_inode()
117 if (UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_USE_AD_IN_ICB)) in udf_new_inode()
119 else if (UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_USE_SHORT_AD)) in udf_new_inode()
123 inode->i_mtime = inode->i_atime = inode->i_ctime = in udf_new_inode()
124 iinfo->i_crtime = current_fs_time(inode->i_sb); in udf_new_inode()
125 if (unlikely(insert_inode_locked(inode) < 0)) { in udf_new_inode()
126 make_bad_inode(inode); in udf_new_inode()
127 iput(inode); in udf_new_inode()
130 mark_inode_dirty(inode); in udf_new_inode()
132 return inode; in udf_new_inode()