Lines Matching refs:inode
34 struct inode *bfs_iget(struct super_block *sb, unsigned long ino) in bfs_iget()
37 struct inode *inode; in bfs_iget() local
41 inode = iget_locked(sb, ino); in bfs_iget()
42 if (!inode) in bfs_iget()
44 if (!(inode->i_state & I_NEW)) in bfs_iget()
45 return inode; in bfs_iget()
47 if ((ino < BFS_ROOT_INO) || (ino > BFS_SB(inode->i_sb)->si_lasti)) { in bfs_iget()
48 printf("Bad inode number %s:%08lx\n", inode->i_sb->s_id, ino); in bfs_iget()
53 bh = sb_bread(inode->i_sb, block); in bfs_iget()
55 printf("Unable to read inode %s:%08lx\n", inode->i_sb->s_id, in bfs_iget()
63 inode->i_mode = 0x0000FFFF & le32_to_cpu(di->i_mode); in bfs_iget()
65 inode->i_mode |= S_IFDIR; in bfs_iget()
66 inode->i_op = &bfs_dir_inops; in bfs_iget()
67 inode->i_fop = &bfs_dir_operations; in bfs_iget()
69 inode->i_mode |= S_IFREG; in bfs_iget()
70 inode->i_op = &bfs_file_inops; in bfs_iget()
71 inode->i_fop = &bfs_file_operations; in bfs_iget()
72 inode->i_mapping->a_ops = &bfs_aops; in bfs_iget()
75 BFS_I(inode)->i_sblock = le32_to_cpu(di->i_sblock); in bfs_iget()
76 BFS_I(inode)->i_eblock = le32_to_cpu(di->i_eblock); in bfs_iget()
77 BFS_I(inode)->i_dsk_ino = le16_to_cpu(di->i_ino); in bfs_iget()
78 i_uid_write(inode, le32_to_cpu(di->i_uid)); in bfs_iget()
79 i_gid_write(inode, le32_to_cpu(di->i_gid)); in bfs_iget()
80 set_nlink(inode, le32_to_cpu(di->i_nlink)); in bfs_iget()
81 inode->i_size = BFS_FILESIZE(di); in bfs_iget()
82 inode->i_blocks = BFS_FILEBLOCKS(di); in bfs_iget()
83 inode->i_atime.tv_sec = le32_to_cpu(di->i_atime); in bfs_iget()
84 inode->i_mtime.tv_sec = le32_to_cpu(di->i_mtime); in bfs_iget()
85 inode->i_ctime.tv_sec = le32_to_cpu(di->i_ctime); in bfs_iget()
86 inode->i_atime.tv_nsec = 0; in bfs_iget()
87 inode->i_mtime.tv_nsec = 0; in bfs_iget()
88 inode->i_ctime.tv_nsec = 0; in bfs_iget()
91 unlock_new_inode(inode); in bfs_iget()
92 return inode; in bfs_iget()
95 iget_failed(inode); in bfs_iget()
117 static int bfs_write_inode(struct inode *inode, struct writeback_control *wbc) in bfs_write_inode() argument
119 struct bfs_sb_info *info = BFS_SB(inode->i_sb); in bfs_write_inode()
120 unsigned int ino = (u16)inode->i_ino; in bfs_write_inode()
128 di = find_inode(inode->i_sb, ino, &bh); in bfs_write_inode()
140 di->i_mode = cpu_to_le32(inode->i_mode); in bfs_write_inode()
141 di->i_uid = cpu_to_le32(i_uid_read(inode)); in bfs_write_inode()
142 di->i_gid = cpu_to_le32(i_gid_read(inode)); in bfs_write_inode()
143 di->i_nlink = cpu_to_le32(inode->i_nlink); in bfs_write_inode()
144 di->i_atime = cpu_to_le32(inode->i_atime.tv_sec); in bfs_write_inode()
145 di->i_mtime = cpu_to_le32(inode->i_mtime.tv_sec); in bfs_write_inode()
146 di->i_ctime = cpu_to_le32(inode->i_ctime.tv_sec); in bfs_write_inode()
147 i_sblock = BFS_I(inode)->i_sblock; in bfs_write_inode()
149 di->i_eblock = cpu_to_le32(BFS_I(inode)->i_eblock); in bfs_write_inode()
150 di->i_eoffset = cpu_to_le32(i_sblock * BFS_BSIZE + inode->i_size - 1); in bfs_write_inode()
163 static void bfs_evict_inode(struct inode *inode) in bfs_evict_inode() argument
165 unsigned long ino = inode->i_ino; in bfs_evict_inode()
168 struct super_block *s = inode->i_sb; in bfs_evict_inode()
170 struct bfs_inode_info *bi = BFS_I(inode); in bfs_evict_inode()
174 truncate_inode_pages_final(&inode->i_data); in bfs_evict_inode()
175 invalidate_inode_buffers(inode); in bfs_evict_inode()
176 clear_inode(inode); in bfs_evict_inode()
178 if (inode->i_nlink) in bfs_evict_inode()
181 di = find_inode(s, inode->i_ino, &bh); in bfs_evict_inode()
241 static struct inode *bfs_alloc_inode(struct super_block *sb) in bfs_alloc_inode()
252 struct inode *inode = container_of(head, struct inode, i_rcu); in bfs_i_callback() local
253 kmem_cache_free(bfs_inode_cachep, BFS_I(inode)); in bfs_i_callback()
256 static void bfs_destroy_inode(struct inode *inode) in bfs_destroy_inode() argument
258 call_rcu(&inode->i_rcu, bfs_i_callback); in bfs_destroy_inode()
324 struct inode *inode; in bfs_fill_super() local
369 inode = bfs_iget(s, BFS_ROOT_INO); in bfs_fill_super()
370 if (IS_ERR(inode)) { in bfs_fill_super()
371 ret = PTR_ERR(inode); in bfs_fill_super()
374 s->s_root = d_make_root(inode); in bfs_fill_super()