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 inode * dir, struct dentry *dentry, umode_t mode, dev_t rdev) in minix_mknod()
39 struct inode *inode; in minix_mknod() local
44 inode = minix_new_inode(dir, mode, &error); in minix_mknod()
46 if (inode) { in minix_mknod()
47 minix_set_inode(inode, rdev); in minix_mknod()
48 mark_inode_dirty(inode); in minix_mknod()
49 error = add_nondir(dentry, inode); in minix_mknod()
54 static int minix_tmpfile(struct inode *dir, struct dentry *dentry, umode_t mode) in minix_tmpfile()
57 struct inode *inode = minix_new_inode(dir, mode, &error); in minix_tmpfile() local
58 if (inode) { in minix_tmpfile()
59 minix_set_inode(inode, 0); in minix_tmpfile()
60 mark_inode_dirty(inode); in minix_tmpfile()
61 d_tmpfile(dentry, inode); in minix_tmpfile()
66 static int minix_create(struct inode *dir, struct dentry *dentry, umode_t mode, in minix_create()
72 static int minix_symlink(struct inode * dir, struct dentry *dentry, in minix_symlink()
77 struct inode * inode; in minix_symlink() local
82 inode = minix_new_inode(dir, S_IFLNK | 0777, &err); in minix_symlink()
83 if (!inode) in minix_symlink()
86 minix_set_inode(inode, 0); in minix_symlink()
87 err = page_symlink(inode, symname, i); in minix_symlink()
91 err = add_nondir(dentry, inode); in minix_symlink()
96 inode_dec_link_count(inode); in minix_symlink()
97 iput(inode); in minix_symlink()
101 static int minix_link(struct dentry * old_dentry, struct inode * dir, in minix_link()
104 struct inode *inode = d_inode(old_dentry); in minix_link() local
106 inode->i_ctime = current_time(inode); in minix_link()
107 inode_inc_link_count(inode); in minix_link()
108 ihold(inode); in minix_link()
109 return add_nondir(dentry, inode); in minix_link()
112 static int minix_mkdir(struct inode * dir, struct dentry *dentry, umode_t mode) in minix_mkdir()
114 struct inode * inode; in minix_mkdir() local
119 inode = minix_new_inode(dir, S_IFDIR | mode, &err); in minix_mkdir()
120 if (!inode) in minix_mkdir()
123 minix_set_inode(inode, 0); in minix_mkdir()
125 inode_inc_link_count(inode); in minix_mkdir()
127 err = minix_make_empty(inode, dir); in minix_mkdir()
131 err = minix_add_link(dentry, inode); in minix_mkdir()
135 d_instantiate(dentry, inode); in minix_mkdir()
140 inode_dec_link_count(inode); in minix_mkdir()
141 inode_dec_link_count(inode); in minix_mkdir()
142 iput(inode); in minix_mkdir()
148 static int minix_unlink(struct inode * dir, struct dentry *dentry) in minix_unlink()
151 struct inode * inode = d_inode(dentry); in minix_unlink() local
163 inode->i_ctime = dir->i_ctime; in minix_unlink()
164 inode_dec_link_count(inode); in minix_unlink()
169 static int minix_rmdir(struct inode * dir, struct dentry *dentry) in minix_rmdir()
171 struct inode * inode = d_inode(dentry); in minix_rmdir() local
174 if (minix_empty_dir(inode)) { in minix_rmdir()
178 inode_dec_link_count(inode); in minix_rmdir()
184 static int minix_rename(struct inode * old_dir, struct dentry *old_dentry, in minix_rename()
185 struct inode * new_dir, struct dentry *new_dentry, in minix_rename()
188 struct inode * old_inode = d_inode(old_dentry); in minix_rename()
189 struct inode * new_inode = d_inode(new_dentry); in minix_rename()