Lines Matching refs:dir
22 /* Insert a header block bh into the directory dir
27 affs_insert_hash(struct inode *dir, struct buffer_head *bh)
29 struct super_block *sb = dir->i_sb;
37 pr_debug("AFFS: insert_hash(dir=%u, ino=%d)\n", (u32)dir->i_ino, ino);
39 dir_bh = affs_bread(sb, dir->i_ino);
51 AFFS_TAIL(sb, bh)->parent = cpu_to_be32(dir->i_ino);
55 if (dir->i_ino == dir_bh->b_blocknr)
61 mark_buffer_dirty_inode(dir_bh, dir);
64 dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC;
65 dir->i_version++;
66 mark_inode_dirty(dir);
76 affs_remove_hash(struct inode *dir, struct buffer_head *rem_bh)
84 sb = dir->i_sb;
87 pr_debug("AFFS: remove_hash(dir=%d, ino=%d, hashval=%d)\n", (u32)dir->i_ino, rem_ino, offset);
89 bh = affs_bread(sb, dir->i_ino);
98 if (dir->i_ino == bh->b_blocknr)
103 mark_buffer_dirty_inode(bh, dir);
117 dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC;
118 dir->i_version++;
119 mark_inode_dirty(dir);
151 struct inode *dir, *inode = dentry->d_inode;
173 dir = affs_iget(sb, be32_to_cpu(AFFS_TAIL(sb, link_bh)->parent));
174 if (IS_ERR(dir)) {
175 retval = PTR_ERR(dir);
179 affs_lock_dir(dir);
181 retval = affs_remove_hash(dir, link_bh);
183 affs_unlock_dir(dir);
189 retval = affs_insert_hash(dir, bh);
191 affs_unlock_dir(dir);
196 affs_unlock_dir(dir);
197 iput(dir);
273 struct inode *inode, *dir;
277 dir = dentry->d_parent->d_inode;
278 sb = dir->i_sb;
292 affs_lock_dir(dir);
309 retval = affs_remove_hash(dir, bh);
314 affs_unlock_dir(dir);
329 affs_unlock_dir(dir);