Lines Matching refs:inode

20 static struct dentry *hfs_lookup(struct inode *dir, struct dentry *dentry,  in hfs_lookup()
25 struct inode *inode = NULL; in hfs_lookup() local
37 inode = NULL; in hfs_lookup()
42 inode = hfs_iget(dir->i_sb, &fd.search_key->cat, &rec); in hfs_lookup()
44 if (!inode) in hfs_lookup()
47 d_add(dentry, inode); in hfs_lookup()
56 struct inode *inode = file_inode(file); in hfs_readdir() local
57 struct super_block *sb = inode->i_sb; in hfs_readdir()
65 if (ctx->pos >= inode->i_size) in hfs_readdir()
71 hfs_cat_build_key(sb, fd.search_key, inode->i_ino, NULL); in hfs_readdir()
104 if (ctx->pos >= inode->i_size) in hfs_readdir()
111 if (be32_to_cpu(fd.key->cat.ParID) != inode->i_ino) { in hfs_readdir()
149 if (ctx->pos >= inode->i_size) in hfs_readdir()
164 list_add(&rd->list, &HFS_I(inode)->open_dir_list); in hfs_readdir()
172 static int hfs_dir_release(struct inode *inode, struct file *file) in hfs_dir_release() argument
176 mutex_lock(&inode->i_mutex); in hfs_dir_release()
178 mutex_unlock(&inode->i_mutex); in hfs_dir_release()
192 static int hfs_create(struct inode *dir, struct dentry *dentry, umode_t mode, in hfs_create()
195 struct inode *inode; in hfs_create() local
198 inode = hfs_new_inode(dir, &dentry->d_name, mode); in hfs_create()
199 if (!inode) in hfs_create()
202 res = hfs_cat_create(inode->i_ino, dir, &dentry->d_name, inode); in hfs_create()
204 clear_nlink(inode); in hfs_create()
205 hfs_delete_inode(inode); in hfs_create()
206 iput(inode); in hfs_create()
209 d_instantiate(dentry, inode); in hfs_create()
210 mark_inode_dirty(inode); in hfs_create()
222 static int hfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) in hfs_mkdir()
224 struct inode *inode; in hfs_mkdir() local
227 inode = hfs_new_inode(dir, &dentry->d_name, S_IFDIR | mode); in hfs_mkdir()
228 if (!inode) in hfs_mkdir()
231 res = hfs_cat_create(inode->i_ino, dir, &dentry->d_name, inode); in hfs_mkdir()
233 clear_nlink(inode); in hfs_mkdir()
234 hfs_delete_inode(inode); in hfs_mkdir()
235 iput(inode); in hfs_mkdir()
238 d_instantiate(dentry, inode); in hfs_mkdir()
239 mark_inode_dirty(inode); in hfs_mkdir()
254 static int hfs_remove(struct inode *dir, struct dentry *dentry) in hfs_remove()
256 struct inode *inode = d_inode(dentry); in hfs_remove() local
259 if (S_ISDIR(inode->i_mode) && inode->i_size != 2) in hfs_remove()
261 res = hfs_cat_delete(inode->i_ino, dir, &dentry->d_name); in hfs_remove()
264 clear_nlink(inode); in hfs_remove()
265 inode->i_ctime = CURRENT_TIME_SEC; in hfs_remove()
266 hfs_delete_inode(inode); in hfs_remove()
267 mark_inode_dirty(inode); in hfs_remove()
282 static int hfs_rename(struct inode *old_dir, struct dentry *old_dentry, in hfs_rename()
283 struct inode *new_dir, struct dentry *new_dentry) in hfs_rename()