Lines Matching refs:inode

10 static int add_nondir(struct dentry *dentry, struct inode *inode)  in add_nondir()  argument
12 int err = minix_add_link(dentry, inode); in add_nondir()
14 d_instantiate(dentry, inode); in add_nondir()
17 inode_dec_link_count(inode); in add_nondir()
18 iput(inode); in add_nondir()
22 static struct dentry *minix_lookup(struct inode * dir, struct dentry *dentry, unsigned int flags) in minix_lookup()
24 struct inode * inode = NULL; in minix_lookup() local
32 inode = minix_iget(dir->i_sb, ino); in minix_lookup()
33 return d_splice_alias(inode, dentry); in minix_lookup()
36 static int minix_mknod(struct mnt_idmap *idmap, struct inode *dir, in minix_mknod()
39 struct inode *inode; in minix_mknod() local
44 inode = minix_new_inode(dir, mode); in minix_mknod()
45 if (IS_ERR(inode)) in minix_mknod()
46 return PTR_ERR(inode); in minix_mknod()
48 minix_set_inode(inode, rdev); in minix_mknod()
49 mark_inode_dirty(inode); in minix_mknod()
50 return add_nondir(dentry, inode); in minix_mknod()
53 static int minix_tmpfile(struct mnt_idmap *idmap, struct inode *dir, in minix_tmpfile()
56 struct inode *inode = minix_new_inode(dir, mode); in minix_tmpfile() local
58 if (IS_ERR(inode)) in minix_tmpfile()
59 return finish_open_simple(file, PTR_ERR(inode)); in minix_tmpfile()
60 minix_set_inode(inode, 0); in minix_tmpfile()
61 mark_inode_dirty(inode); in minix_tmpfile()
62 d_tmpfile(file, inode); in minix_tmpfile()
66 static int minix_create(struct mnt_idmap *idmap, struct inode *dir, in minix_create()
72 static int minix_symlink(struct mnt_idmap *idmap, struct inode *dir, in minix_symlink()
76 struct inode * inode; in minix_symlink() local
82 inode = minix_new_inode(dir, S_IFLNK | 0777); in minix_symlink()
83 if (IS_ERR(inode)) in minix_symlink()
84 return PTR_ERR(inode); in minix_symlink()
86 minix_set_inode(inode, 0); in minix_symlink()
87 err = page_symlink(inode, symname, i); in minix_symlink()
89 inode_dec_link_count(inode); in minix_symlink()
90 iput(inode); in minix_symlink()
93 return add_nondir(dentry, inode); in minix_symlink()
96 static int minix_link(struct dentry * old_dentry, struct inode * dir, in minix_link()
99 struct inode *inode = d_inode(old_dentry); in minix_link() local
101 inode_set_ctime_current(inode); in minix_link()
102 inode_inc_link_count(inode); in minix_link()
103 ihold(inode); in minix_link()
104 return add_nondir(dentry, inode); in minix_link()
107 static int minix_mkdir(struct mnt_idmap *idmap, struct inode *dir, in minix_mkdir()
110 struct inode * inode; in minix_mkdir() local
113 inode = minix_new_inode(dir, S_IFDIR | mode); in minix_mkdir()
114 if (IS_ERR(inode)) in minix_mkdir()
115 return PTR_ERR(inode); in minix_mkdir()
118 minix_set_inode(inode, 0); in minix_mkdir()
119 inode_inc_link_count(inode); in minix_mkdir()
121 err = minix_make_empty(inode, dir); in minix_mkdir()
125 err = minix_add_link(dentry, inode); in minix_mkdir()
129 d_instantiate(dentry, inode); in minix_mkdir()
134 inode_dec_link_count(inode); in minix_mkdir()
135 inode_dec_link_count(inode); in minix_mkdir()
136 iput(inode); in minix_mkdir()
141 static int minix_unlink(struct inode * dir, struct dentry *dentry) in minix_unlink()
143 struct inode * inode = d_inode(dentry); in minix_unlink() local
157 inode_set_ctime_to_ts(inode, inode_get_ctime(dir)); in minix_unlink()
158 inode_dec_link_count(inode); in minix_unlink()
162 static int minix_rmdir(struct inode * dir, struct dentry *dentry) in minix_rmdir()
164 struct inode * inode = d_inode(dentry); in minix_rmdir() local
167 if (minix_empty_dir(inode)) { in minix_rmdir()
171 inode_dec_link_count(inode); in minix_rmdir()
178 struct inode *old_dir, struct dentry *old_dentry, in minix_rename()
179 struct inode *new_dir, struct dentry *new_dentry, in minix_rename()
182 struct inode * old_inode = d_inode(old_dentry); in minix_rename()
183 struct inode * new_inode = d_inode(new_dentry); in minix_rename()