Lines Matching refs:dir
25 static struct inode *f2fs_new_inode(struct inode *dir, umode_t mode) in f2fs_new_inode() argument
27 struct f2fs_sb_info *sbi = F2FS_I_SB(dir); in f2fs_new_inode()
33 inode = new_inode(dir->i_sb); in f2fs_new_inode()
45 inode_init_owner(inode, dir, mode); in f2fs_new_inode()
109 static int f2fs_create(struct inode *dir, struct dentry *dentry, umode_t mode, in f2fs_create() argument
112 struct f2fs_sb_info *sbi = F2FS_I_SB(dir); in f2fs_create()
119 inode = f2fs_new_inode(dir, mode); in f2fs_create()
143 if (IS_DIRSYNC(dir)) in f2fs_create()
151 static int f2fs_link(struct dentry *old_dentry, struct inode *dir, in f2fs_link() argument
155 struct f2fs_sb_info *sbi = F2FS_I_SB(dir); in f2fs_link()
172 if (IS_DIRSYNC(dir)) in f2fs_link()
191 static int __recover_dot_dentries(struct inode *dir, nid_t pino) in __recover_dot_dentries() argument
193 struct f2fs_sb_info *sbi = F2FS_I_SB(dir); in __recover_dot_dentries()
202 de = f2fs_find_entry(dir, &dot, &page); in __recover_dot_dentries()
204 f2fs_dentry_kunmap(dir, page); in __recover_dot_dentries()
207 err = __f2fs_add_link(dir, &dot, NULL, dir->i_ino, S_IFDIR); in __recover_dot_dentries()
212 de = f2fs_find_entry(dir, &dotdot, &page); in __recover_dot_dentries()
214 f2fs_dentry_kunmap(dir, page); in __recover_dot_dentries()
217 err = __f2fs_add_link(dir, &dotdot, NULL, pino, S_IFDIR); in __recover_dot_dentries()
221 clear_inode_flag(F2FS_I(dir), FI_INLINE_DOTS); in __recover_dot_dentries()
222 mark_inode_dirty(dir); in __recover_dot_dentries()
229 static struct dentry *f2fs_lookup(struct inode *dir, struct dentry *dentry, in f2fs_lookup() argument
239 de = f2fs_find_entry(dir, &dentry->d_name, &page); in f2fs_lookup()
242 f2fs_dentry_kunmap(dir, page); in f2fs_lookup()
245 inode = f2fs_iget(dir->i_sb, ino); in f2fs_lookup()
252 err = __recover_dot_dentries(inode, dir->i_ino); in f2fs_lookup()
263 static int f2fs_unlink(struct inode *dir, struct dentry *dentry) in f2fs_unlink() argument
265 struct f2fs_sb_info *sbi = F2FS_I_SB(dir); in f2fs_unlink()
271 trace_f2fs_unlink_enter(dir, dentry); in f2fs_unlink()
274 de = f2fs_find_entry(dir, &dentry->d_name, &page); in f2fs_unlink()
282 f2fs_dentry_kunmap(dir, page); in f2fs_unlink()
286 f2fs_delete_entry(de, page, dir, inode); in f2fs_unlink()
292 if (IS_DIRSYNC(dir)) in f2fs_unlink()
314 static int f2fs_symlink(struct inode *dir, struct dentry *dentry, in f2fs_symlink() argument
317 struct f2fs_sb_info *sbi = F2FS_I_SB(dir); in f2fs_symlink()
324 inode = f2fs_new_inode(dir, S_IFLNK | S_IRWXUGO); in f2fs_symlink()
354 if (IS_DIRSYNC(dir)) in f2fs_symlink()
362 static int f2fs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) in f2fs_mkdir() argument
364 struct f2fs_sb_info *sbi = F2FS_I_SB(dir); in f2fs_mkdir()
370 inode = f2fs_new_inode(dir, S_IFDIR | mode); in f2fs_mkdir()
392 if (IS_DIRSYNC(dir)) in f2fs_mkdir()
402 static int f2fs_rmdir(struct inode *dir, struct dentry *dentry) in f2fs_rmdir() argument
406 return f2fs_unlink(dir, dentry); in f2fs_rmdir()
410 static int f2fs_mknod(struct inode *dir, struct dentry *dentry, in f2fs_mknod() argument
413 struct f2fs_sb_info *sbi = F2FS_I_SB(dir); in f2fs_mknod()
422 inode = f2fs_new_inode(dir, mode); in f2fs_mknod()
440 if (IS_DIRSYNC(dir)) in f2fs_mknod()
740 static int f2fs_tmpfile(struct inode *dir, struct dentry *dentry, umode_t mode) in f2fs_tmpfile() argument
742 struct f2fs_sb_info *sbi = F2FS_I_SB(dir); in f2fs_tmpfile()
746 inode = f2fs_new_inode(dir, mode); in f2fs_tmpfile()
759 err = f2fs_do_tmpfile(inode, dir); in f2fs_tmpfile()