• Home
  • Raw
  • Download

Lines Matching refs:inode

35 static inline int nilfs_add_nondir(struct dentry *dentry, struct inode *inode)  in nilfs_add_nondir()  argument
37 int err = nilfs_add_link(dentry, inode); in nilfs_add_nondir()
40 d_instantiate_new(dentry, inode); in nilfs_add_nondir()
43 inode_dec_link_count(inode); in nilfs_add_nondir()
44 unlock_new_inode(inode); in nilfs_add_nondir()
45 iput(inode); in nilfs_add_nondir()
54 nilfs_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags) in nilfs_lookup()
56 struct inode *inode; in nilfs_lookup() local
63 inode = ino ? nilfs_iget(dir->i_sb, NILFS_I(dir)->i_root, ino) : NULL; in nilfs_lookup()
64 return d_splice_alias(inode, dentry); in nilfs_lookup()
75 static int nilfs_create(struct inode *dir, struct dentry *dentry, umode_t mode, in nilfs_create()
78 struct inode *inode; in nilfs_create() local
85 inode = nilfs_new_inode(dir, mode); in nilfs_create()
86 err = PTR_ERR(inode); in nilfs_create()
87 if (!IS_ERR(inode)) { in nilfs_create()
88 inode->i_op = &nilfs_file_inode_operations; in nilfs_create()
89 inode->i_fop = &nilfs_file_operations; in nilfs_create()
90 inode->i_mapping->a_ops = &nilfs_aops; in nilfs_create()
91 nilfs_mark_inode_dirty(inode); in nilfs_create()
92 err = nilfs_add_nondir(dentry, inode); in nilfs_create()
103 nilfs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, dev_t rdev) in nilfs_mknod()
105 struct inode *inode; in nilfs_mknod() local
112 inode = nilfs_new_inode(dir, mode); in nilfs_mknod()
113 err = PTR_ERR(inode); in nilfs_mknod()
114 if (!IS_ERR(inode)) { in nilfs_mknod()
115 init_special_inode(inode, inode->i_mode, rdev); in nilfs_mknod()
116 nilfs_mark_inode_dirty(inode); in nilfs_mknod()
117 err = nilfs_add_nondir(dentry, inode); in nilfs_mknod()
127 static int nilfs_symlink(struct inode *dir, struct dentry *dentry, in nilfs_symlink()
133 struct inode *inode; in nilfs_symlink() local
143 inode = nilfs_new_inode(dir, S_IFLNK | 0777); in nilfs_symlink()
144 err = PTR_ERR(inode); in nilfs_symlink()
145 if (IS_ERR(inode)) in nilfs_symlink()
149 inode->i_op = &nilfs_symlink_inode_operations; in nilfs_symlink()
150 inode_nohighmem(inode); in nilfs_symlink()
151 inode->i_mapping->a_ops = &nilfs_aops; in nilfs_symlink()
152 err = page_symlink(inode, symname, l); in nilfs_symlink()
159 err = nilfs_add_nondir(dentry, inode); in nilfs_symlink()
169 drop_nlink(inode); in nilfs_symlink()
170 nilfs_mark_inode_dirty(inode); in nilfs_symlink()
171 unlock_new_inode(inode); in nilfs_symlink()
172 iput(inode); in nilfs_symlink()
176 static int nilfs_link(struct dentry *old_dentry, struct inode *dir, in nilfs_link()
179 struct inode *inode = d_inode(old_dentry); in nilfs_link() local
187 inode->i_ctime = current_time(inode); in nilfs_link()
188 inode_inc_link_count(inode); in nilfs_link()
189 ihold(inode); in nilfs_link()
191 err = nilfs_add_link(dentry, inode); in nilfs_link()
193 d_instantiate(dentry, inode); in nilfs_link()
196 inode_dec_link_count(inode); in nilfs_link()
197 iput(inode); in nilfs_link()
204 static int nilfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) in nilfs_mkdir()
206 struct inode *inode; in nilfs_mkdir() local
216 inode = nilfs_new_inode(dir, S_IFDIR | mode); in nilfs_mkdir()
217 err = PTR_ERR(inode); in nilfs_mkdir()
218 if (IS_ERR(inode)) in nilfs_mkdir()
221 inode->i_op = &nilfs_dir_inode_operations; in nilfs_mkdir()
222 inode->i_fop = &nilfs_dir_operations; in nilfs_mkdir()
223 inode->i_mapping->a_ops = &nilfs_aops; in nilfs_mkdir()
225 inc_nlink(inode); in nilfs_mkdir()
227 err = nilfs_make_empty(inode, dir); in nilfs_mkdir()
231 err = nilfs_add_link(dentry, inode); in nilfs_mkdir()
235 nilfs_mark_inode_dirty(inode); in nilfs_mkdir()
236 d_instantiate_new(dentry, inode); in nilfs_mkdir()
246 drop_nlink(inode); in nilfs_mkdir()
247 drop_nlink(inode); in nilfs_mkdir()
248 nilfs_mark_inode_dirty(inode); in nilfs_mkdir()
249 unlock_new_inode(inode); in nilfs_mkdir()
250 iput(inode); in nilfs_mkdir()
257 static int nilfs_do_unlink(struct inode *dir, struct dentry *dentry) in nilfs_do_unlink()
259 struct inode *inode; in nilfs_do_unlink() local
269 inode = d_inode(dentry); in nilfs_do_unlink()
271 if (le64_to_cpu(de->inode) != inode->i_ino) in nilfs_do_unlink()
274 if (!inode->i_nlink) { in nilfs_do_unlink()
275 nilfs_warn(inode->i_sb, in nilfs_do_unlink()
277 inode->i_ino, inode->i_nlink); in nilfs_do_unlink()
278 set_nlink(inode, 1); in nilfs_do_unlink()
284 inode->i_ctime = dir->i_ctime; in nilfs_do_unlink()
285 drop_nlink(inode); in nilfs_do_unlink()
291 static int nilfs_unlink(struct inode *dir, struct dentry *dentry) in nilfs_unlink()
312 static int nilfs_rmdir(struct inode *dir, struct dentry *dentry) in nilfs_rmdir()
314 struct inode *inode = d_inode(dentry); in nilfs_rmdir() local
323 if (nilfs_empty_dir(inode)) { in nilfs_rmdir()
326 inode->i_size = 0; in nilfs_rmdir()
327 drop_nlink(inode); in nilfs_rmdir()
328 nilfs_mark_inode_dirty(inode); in nilfs_rmdir()
341 static int nilfs_rename(struct inode *old_dir, struct dentry *old_dentry, in nilfs_rename()
342 struct inode *new_dir, struct dentry *new_dentry, in nilfs_rename()
345 struct inode *old_inode = d_inode(old_dentry); in nilfs_rename()
346 struct inode *new_inode = d_inode(new_dentry); in nilfs_rename()
439 struct inode *inode; in nilfs_get_parent() local
449 inode = nilfs_iget(child->d_sb, root, ino); in nilfs_get_parent()
450 if (IS_ERR(inode)) in nilfs_get_parent()
451 return ERR_CAST(inode); in nilfs_get_parent()
453 return d_obtain_alias(inode); in nilfs_get_parent()
460 struct inode *inode; in nilfs_get_dentry() local
469 inode = nilfs_iget(sb, root, ino); in nilfs_get_dentry()
472 if (IS_ERR(inode)) in nilfs_get_dentry()
473 return ERR_CAST(inode); in nilfs_get_dentry()
474 if (gen && inode->i_generation != gen) { in nilfs_get_dentry()
475 iput(inode); in nilfs_get_dentry()
478 return d_obtain_alias(inode); in nilfs_get_dentry()
506 static int nilfs_encode_fh(struct inode *inode, __u32 *fh, int *lenp, in nilfs_encode_fh() argument
507 struct inode *parent) in nilfs_encode_fh()
510 struct nilfs_root *root = NILFS_I(inode)->i_root; in nilfs_encode_fh()
523 fid->ino = inode->i_ino; in nilfs_encode_fh()
524 fid->gen = inode->i_generation; in nilfs_encode_fh()