• Home
  • Raw
  • Download

Lines Matching refs:inode

37 static inline int ufs_add_nondir(struct dentry *dentry, struct inode *inode)  in ufs_add_nondir()  argument
39 int err = ufs_add_link(dentry, inode); in ufs_add_nondir()
41 d_instantiate_new(dentry, inode); in ufs_add_nondir()
44 inode_dec_link_count(inode); in ufs_add_nondir()
45 unlock_new_inode(inode); in ufs_add_nondir()
46 iput(inode); in ufs_add_nondir()
50 static struct dentry *ufs_lookup(struct inode * dir, struct dentry *dentry, unsigned int flags) in ufs_lookup()
52 struct inode * inode = NULL; in ufs_lookup() local
60 inode = ufs_iget(dir->i_sb, ino); in ufs_lookup()
61 return d_splice_alias(inode, dentry); in ufs_lookup()
72 static int ufs_create (struct inode * dir, struct dentry * dentry, umode_t mode, in ufs_create()
75 struct inode *inode; in ufs_create() local
77 inode = ufs_new_inode(dir, mode); in ufs_create()
78 if (IS_ERR(inode)) in ufs_create()
79 return PTR_ERR(inode); in ufs_create()
81 inode->i_op = &ufs_file_inode_operations; in ufs_create()
82 inode->i_fop = &ufs_file_operations; in ufs_create()
83 inode->i_mapping->a_ops = &ufs_aops; in ufs_create()
84 mark_inode_dirty(inode); in ufs_create()
85 return ufs_add_nondir(dentry, inode); in ufs_create()
88 static int ufs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, dev_t rdev) in ufs_mknod()
90 struct inode *inode; in ufs_mknod() local
96 inode = ufs_new_inode(dir, mode); in ufs_mknod()
97 err = PTR_ERR(inode); in ufs_mknod()
98 if (!IS_ERR(inode)) { in ufs_mknod()
99 init_special_inode(inode, mode, rdev); in ufs_mknod()
100 ufs_set_inode_dev(inode->i_sb, UFS_I(inode), rdev); in ufs_mknod()
101 mark_inode_dirty(inode); in ufs_mknod()
102 err = ufs_add_nondir(dentry, inode); in ufs_mknod()
107 static int ufs_symlink (struct inode * dir, struct dentry * dentry, in ufs_symlink()
113 struct inode * inode; in ufs_symlink() local
118 inode = ufs_new_inode(dir, S_IFLNK | S_IRWXUGO); in ufs_symlink()
119 err = PTR_ERR(inode); in ufs_symlink()
120 if (IS_ERR(inode)) in ufs_symlink()
125 inode->i_op = &ufs_symlink_inode_operations; in ufs_symlink()
126 inode->i_mapping->a_ops = &ufs_aops; in ufs_symlink()
127 err = page_symlink(inode, symname, l); in ufs_symlink()
132 inode->i_op = &ufs_fast_symlink_inode_operations; in ufs_symlink()
133 inode->i_link = (char *)UFS_I(inode)->i_u1.i_symlink; in ufs_symlink()
134 memcpy(inode->i_link, symname, l); in ufs_symlink()
135 inode->i_size = l-1; in ufs_symlink()
137 mark_inode_dirty(inode); in ufs_symlink()
139 return ufs_add_nondir(dentry, inode); in ufs_symlink()
142 inode_dec_link_count(inode); in ufs_symlink()
143 unlock_new_inode(inode); in ufs_symlink()
144 iput(inode); in ufs_symlink()
148 static int ufs_link (struct dentry * old_dentry, struct inode * dir, in ufs_link()
151 struct inode *inode = d_inode(old_dentry); in ufs_link() local
154 inode->i_ctime = CURRENT_TIME_SEC; in ufs_link()
155 inode_inc_link_count(inode); in ufs_link()
156 ihold(inode); in ufs_link()
158 error = ufs_add_link(dentry, inode); in ufs_link()
160 inode_dec_link_count(inode); in ufs_link()
161 iput(inode); in ufs_link()
163 d_instantiate(dentry, inode); in ufs_link()
167 static int ufs_mkdir(struct inode * dir, struct dentry * dentry, umode_t mode) in ufs_mkdir()
169 struct inode * inode; in ufs_mkdir() local
174 inode = ufs_new_inode(dir, S_IFDIR|mode); in ufs_mkdir()
175 err = PTR_ERR(inode); in ufs_mkdir()
176 if (IS_ERR(inode)) in ufs_mkdir()
179 inode->i_op = &ufs_dir_inode_operations; in ufs_mkdir()
180 inode->i_fop = &ufs_dir_operations; in ufs_mkdir()
181 inode->i_mapping->a_ops = &ufs_aops; in ufs_mkdir()
183 inode_inc_link_count(inode); in ufs_mkdir()
185 err = ufs_make_empty(inode, dir); in ufs_mkdir()
189 err = ufs_add_link(dentry, inode); in ufs_mkdir()
193 d_instantiate_new(dentry, inode); in ufs_mkdir()
197 inode_dec_link_count(inode); in ufs_mkdir()
198 inode_dec_link_count(inode); in ufs_mkdir()
199 unlock_new_inode(inode); in ufs_mkdir()
200 iput (inode); in ufs_mkdir()
206 static int ufs_unlink(struct inode *dir, struct dentry *dentry) in ufs_unlink()
208 struct inode * inode = d_inode(dentry); in ufs_unlink() local
221 inode->i_ctime = dir->i_ctime; in ufs_unlink()
222 inode_dec_link_count(inode); in ufs_unlink()
228 static int ufs_rmdir (struct inode * dir, struct dentry *dentry) in ufs_rmdir()
230 struct inode * inode = d_inode(dentry); in ufs_rmdir() local
233 if (ufs_empty_dir (inode)) { in ufs_rmdir()
236 inode->i_size = 0; in ufs_rmdir()
237 inode_dec_link_count(inode); in ufs_rmdir()
244 static int ufs_rename(struct inode *old_dir, struct dentry *old_dentry, in ufs_rename()
245 struct inode *new_dir, struct dentry *new_dentry) in ufs_rename()
247 struct inode *old_inode = d_inode(old_dentry); in ufs_rename()
248 struct inode *new_inode = d_inode(new_dentry); in ufs_rename()