Lines Matching defs:dir

3  *	fs/bfs/dir.c
24 static int bfs_add_entry(struct inode *dir, const struct qstr *child, int ino);
25 static struct buffer_head *bfs_find_entry(struct inode *dir,
31 struct inode *dir = file_inode(f);
40 dir->i_sb->s_id, dir->i_ino);
44 while (ctx->pos < dir->i_size) {
46 block = BFS_I(dir)->i_sblock + (ctx->pos >> BFS_BSIZE_BITS);
47 bh = sb_bread(dir->i_sb, block);
65 } while ((offset < BFS_BSIZE) && (ctx->pos < dir->i_size));
78 static int bfs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
83 struct super_block *s = dir->i_sb;
99 inode_init_owner(inode, dir, mode);
113 err = bfs_add_entry(dir, &dentry->d_name, inode->i_ino);
125 static struct dentry *bfs_lookup(struct inode *dir, struct dentry *dentry,
131 struct bfs_sb_info *info = BFS_SB(dir->i_sb);
137 bh = bfs_find_entry(dir, &dentry->d_name, &de);
141 inode = bfs_iget(dir->i_sb, ino);
147 static int bfs_link(struct dentry *old, struct inode *dir,
155 err = bfs_add_entry(dir, &new->d_name, inode->i_ino);
169 static int bfs_unlink(struct inode *dir, struct dentry *dentry)
178 bh = bfs_find_entry(dir, &dentry->d_name, &de);
189 mark_buffer_dirty_inode(bh, dir);
190 dir->i_ctime = dir->i_mtime = current_time(dir);
191 mark_inode_dirty(dir);
192 inode->i_ctime = dir->i_ctime;
267 static int bfs_add_entry(struct inode *dir, const struct qstr *child, int ino)
283 sblock = BFS_I(dir)->i_sblock;
284 eblock = BFS_I(dir)->i_eblock;
286 bh = sb_bread(dir->i_sb, block);
293 if (pos >= dir->i_size) {
294 dir->i_size += BFS_DIRENT_SIZE;
295 dir->i_ctime = current_time(dir);
297 dir->i_mtime = current_time(dir);
298 mark_inode_dirty(dir);
303 mark_buffer_dirty_inode(bh, dir);
321 static struct buffer_head *bfs_find_entry(struct inode *dir,
335 while (block * BFS_BSIZE + offset < dir->i_size) {
337 bh = sb_bread(dir->i_sb, BFS_I(dir)->i_sblock + block);