Lines Matching refs:inode

49 static inline int nilfs_add_nondir(struct dentry *dentry, struct inode *inode)  in nilfs_add_nondir()  argument
51 int err = nilfs_add_link(dentry, inode); in nilfs_add_nondir()
53 d_instantiate(dentry, inode); in nilfs_add_nondir()
54 unlock_new_inode(inode); in nilfs_add_nondir()
57 inode_dec_link_count(inode); in nilfs_add_nondir()
58 unlock_new_inode(inode); in nilfs_add_nondir()
59 iput(inode); in nilfs_add_nondir()
68 nilfs_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags) in nilfs_lookup()
70 struct inode *inode; in nilfs_lookup() local
77 inode = ino ? nilfs_iget(dir->i_sb, NILFS_I(dir)->i_root, ino) : NULL; in nilfs_lookup()
78 return d_splice_alias(inode, dentry); in nilfs_lookup()
89 static int nilfs_create(struct inode *dir, struct dentry *dentry, umode_t mode, in nilfs_create()
92 struct inode *inode; in nilfs_create() local
99 inode = nilfs_new_inode(dir, mode); in nilfs_create()
100 err = PTR_ERR(inode); in nilfs_create()
101 if (!IS_ERR(inode)) { in nilfs_create()
102 inode->i_op = &nilfs_file_inode_operations; in nilfs_create()
103 inode->i_fop = &nilfs_file_operations; in nilfs_create()
104 inode->i_mapping->a_ops = &nilfs_aops; in nilfs_create()
105 nilfs_mark_inode_dirty(inode); in nilfs_create()
106 err = nilfs_add_nondir(dentry, inode); in nilfs_create()
117 nilfs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, dev_t rdev) in nilfs_mknod()
119 struct inode *inode; in nilfs_mknod() local
129 inode = nilfs_new_inode(dir, mode); in nilfs_mknod()
130 err = PTR_ERR(inode); in nilfs_mknod()
131 if (!IS_ERR(inode)) { in nilfs_mknod()
132 init_special_inode(inode, inode->i_mode, rdev); in nilfs_mknod()
133 nilfs_mark_inode_dirty(inode); in nilfs_mknod()
134 err = nilfs_add_nondir(dentry, inode); in nilfs_mknod()
144 static int nilfs_symlink(struct inode *dir, struct dentry *dentry, in nilfs_symlink()
150 struct inode *inode; in nilfs_symlink() local
160 inode = nilfs_new_inode(dir, S_IFLNK | S_IRWXUGO); in nilfs_symlink()
161 err = PTR_ERR(inode); in nilfs_symlink()
162 if (IS_ERR(inode)) in nilfs_symlink()
166 inode->i_op = &nilfs_symlink_inode_operations; in nilfs_symlink()
167 inode->i_mapping->a_ops = &nilfs_aops; in nilfs_symlink()
168 err = page_symlink(inode, symname, l); in nilfs_symlink()
175 err = nilfs_add_nondir(dentry, inode); in nilfs_symlink()
185 drop_nlink(inode); in nilfs_symlink()
186 nilfs_mark_inode_dirty(inode); in nilfs_symlink()
187 unlock_new_inode(inode); in nilfs_symlink()
188 iput(inode); in nilfs_symlink()
192 static int nilfs_link(struct dentry *old_dentry, struct inode *dir, in nilfs_link()
195 struct inode *inode = d_inode(old_dentry); in nilfs_link() local
203 inode->i_ctime = CURRENT_TIME; in nilfs_link()
204 inode_inc_link_count(inode); in nilfs_link()
205 ihold(inode); in nilfs_link()
207 err = nilfs_add_link(dentry, inode); in nilfs_link()
209 d_instantiate(dentry, inode); in nilfs_link()
212 inode_dec_link_count(inode); in nilfs_link()
213 iput(inode); in nilfs_link()
220 static int nilfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) in nilfs_mkdir()
222 struct inode *inode; in nilfs_mkdir() local
232 inode = nilfs_new_inode(dir, S_IFDIR | mode); in nilfs_mkdir()
233 err = PTR_ERR(inode); in nilfs_mkdir()
234 if (IS_ERR(inode)) in nilfs_mkdir()
237 inode->i_op = &nilfs_dir_inode_operations; in nilfs_mkdir()
238 inode->i_fop = &nilfs_dir_operations; in nilfs_mkdir()
239 inode->i_mapping->a_ops = &nilfs_aops; in nilfs_mkdir()
241 inc_nlink(inode); in nilfs_mkdir()
243 err = nilfs_make_empty(inode, dir); in nilfs_mkdir()
247 err = nilfs_add_link(dentry, inode); in nilfs_mkdir()
251 nilfs_mark_inode_dirty(inode); in nilfs_mkdir()
252 d_instantiate(dentry, inode); in nilfs_mkdir()
253 unlock_new_inode(inode); in nilfs_mkdir()
263 drop_nlink(inode); in nilfs_mkdir()
264 drop_nlink(inode); in nilfs_mkdir()
265 nilfs_mark_inode_dirty(inode); in nilfs_mkdir()
266 unlock_new_inode(inode); in nilfs_mkdir()
267 iput(inode); in nilfs_mkdir()
274 static int nilfs_do_unlink(struct inode *dir, struct dentry *dentry) in nilfs_do_unlink()
276 struct inode *inode; in nilfs_do_unlink() local
286 inode = d_inode(dentry); in nilfs_do_unlink()
288 if (le64_to_cpu(de->inode) != inode->i_ino) in nilfs_do_unlink()
291 if (!inode->i_nlink) { in nilfs_do_unlink()
292 nilfs_warning(inode->i_sb, __func__, in nilfs_do_unlink()
294 inode->i_ino, inode->i_nlink); in nilfs_do_unlink()
295 set_nlink(inode, 1); in nilfs_do_unlink()
301 inode->i_ctime = dir->i_ctime; in nilfs_do_unlink()
302 drop_nlink(inode); in nilfs_do_unlink()
308 static int nilfs_unlink(struct inode *dir, struct dentry *dentry) in nilfs_unlink()
329 static int nilfs_rmdir(struct inode *dir, struct dentry *dentry) in nilfs_rmdir()
331 struct inode *inode = d_inode(dentry); in nilfs_rmdir() local
340 if (nilfs_empty_dir(inode)) { in nilfs_rmdir()
343 inode->i_size = 0; in nilfs_rmdir()
344 drop_nlink(inode); in nilfs_rmdir()
345 nilfs_mark_inode_dirty(inode); in nilfs_rmdir()
358 static int nilfs_rename(struct inode *old_dir, struct dentry *old_dentry, in nilfs_rename()
359 struct inode *new_dir, struct dentry *new_dentry) in nilfs_rename()
361 struct inode *old_inode = d_inode(old_dentry); in nilfs_rename()
362 struct inode *new_inode = d_inode(new_dentry); in nilfs_rename()
452 struct inode *inode; in nilfs_get_parent() local
462 inode = nilfs_iget(d_inode(child)->i_sb, root, ino); in nilfs_get_parent()
463 if (IS_ERR(inode)) in nilfs_get_parent()
464 return ERR_CAST(inode); in nilfs_get_parent()
466 return d_obtain_alias(inode); in nilfs_get_parent()
473 struct inode *inode; in nilfs_get_dentry() local
482 inode = nilfs_iget(sb, root, ino); in nilfs_get_dentry()
485 if (IS_ERR(inode)) in nilfs_get_dentry()
486 return ERR_CAST(inode); in nilfs_get_dentry()
487 if (gen && inode->i_generation != gen) { in nilfs_get_dentry()
488 iput(inode); in nilfs_get_dentry()
491 return d_obtain_alias(inode); in nilfs_get_dentry()
520 static int nilfs_encode_fh(struct inode *inode, __u32 *fh, int *lenp, in nilfs_encode_fh() argument
521 struct inode *parent) in nilfs_encode_fh()
524 struct nilfs_root *root = NILFS_I(inode)->i_root; in nilfs_encode_fh()
537 fid->ino = inode->i_ino; in nilfs_encode_fh()
538 fid->gen = inode->i_generation; in nilfs_encode_fh()