Lines Matching refs: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 mnt_idmap *idmap, struct inode *dir,
83 struct super_block *s = dir->i_sb;
99 inode_init_owner(&nop_mnt_idmap, 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 inode_set_mtime_to_ts(dir, inode_set_ctime_current(dir));
191 mark_inode_dirty(dir);
192 inode_set_ctime_to_ts(inode, inode_get_ctime(dir));
267 static int bfs_add_entry(struct inode *dir, const struct qstr *child, int ino)
278 sblock = BFS_I(dir)->i_sblock;
279 eblock = BFS_I(dir)->i_eblock;
281 bh = sb_bread(dir->i_sb, block);
288 if (pos >= dir->i_size) {
289 dir->i_size += BFS_DIRENT_SIZE;
290 inode_set_ctime_current(dir);
292 inode_set_mtime_to_ts(dir,
293 inode_set_ctime_current(dir));
294 mark_inode_dirty(dir);
299 mark_buffer_dirty_inode(bh, dir);
317 static struct buffer_head *bfs_find_entry(struct inode *dir,
331 while (block * BFS_BSIZE + offset < dir->i_size) {
333 bh = sb_bread(dir->i_sb, BFS_I(dir)->i_sblock + block);