Lines Matching defs:dir
21 /* Insert a header block bh into the directory dir
26 affs_insert_hash(struct inode *dir, struct buffer_head *bh)
28 struct super_block *sb = dir->i_sb;
36 pr_debug("%s(dir=%lu, ino=%d)\n", __func__, dir->i_ino, ino);
38 dir_bh = affs_bread(sb, dir->i_ino);
50 AFFS_TAIL(sb, bh)->parent = cpu_to_be32(dir->i_ino);
54 if (dir->i_ino == dir_bh->b_blocknr)
60 mark_buffer_dirty_inode(dir_bh, dir);
63 dir->i_mtime = inode_set_ctime_current(dir);
64 inode_inc_iversion(dir);
65 mark_inode_dirty(dir);
75 affs_remove_hash(struct inode *dir, struct buffer_head *rem_bh)
83 sb = dir->i_sb;
86 pr_debug("%s(dir=%lu, ino=%d, hashval=%d)\n", __func__, dir->i_ino,
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 = inode_set_ctime_current(dir);
118 inode_inc_iversion(dir);
119 mark_inode_dirty(dir);
144 struct inode *dir, *inode = d_inode(dentry);
166 dir = affs_iget(sb, be32_to_cpu(AFFS_TAIL(sb, link_bh)->parent));
167 if (IS_ERR(dir)) {
168 retval = PTR_ERR(dir);
172 affs_lock_dir(dir);
178 retval = affs_remove_hash(dir, link_bh);
180 affs_unlock_dir(dir);
186 retval = affs_insert_hash(dir, bh);
188 affs_unlock_dir(dir);
193 affs_unlock_dir(dir);
194 iput(dir);
270 struct inode *inode, *dir;
274 dir = d_inode(dentry->d_parent);
275 sb = dir->i_sb;
289 affs_lock_dir(dir);
306 retval = affs_remove_hash(dir, bh);
311 affs_unlock_dir(dir);
326 affs_unlock_dir(dir);