Lines Matching refs:inode
55 static int squashfs_new_inode(struct super_block *sb, struct inode *inode, in squashfs_new_inode() argument
60 err = squashfs_get_id(sb, le16_to_cpu(sqsh_ino->uid), &inode->i_uid); in squashfs_new_inode()
64 err = squashfs_get_id(sb, le16_to_cpu(sqsh_ino->guid), &inode->i_gid); in squashfs_new_inode()
68 inode->i_ino = le32_to_cpu(sqsh_ino->inode_number); in squashfs_new_inode()
69 inode->i_mtime.tv_sec = le32_to_cpu(sqsh_ino->mtime); in squashfs_new_inode()
70 inode->i_atime.tv_sec = inode->i_mtime.tv_sec; in squashfs_new_inode()
71 inode->i_ctime.tv_sec = inode->i_mtime.tv_sec; in squashfs_new_inode()
72 inode->i_mode = le16_to_cpu(sqsh_ino->mode); in squashfs_new_inode()
73 inode->i_size = 0; in squashfs_new_inode()
79 struct inode *squashfs_iget(struct super_block *sb, long long ino, in squashfs_iget()
82 struct inode *inode = iget_locked(sb, ino_number); in squashfs_iget() local
87 if (!inode) in squashfs_iget()
89 if (!(inode->i_state & I_NEW)) in squashfs_iget()
90 return inode; in squashfs_iget()
92 err = squashfs_read_inode(inode, ino); in squashfs_iget()
94 iget_failed(inode); in squashfs_iget()
98 unlock_new_inode(inode); in squashfs_iget()
99 return inode; in squashfs_iget()
107 int squashfs_read_inode(struct inode *inode, long long ino) in squashfs_read_inode() argument
109 struct super_block *sb = inode->i_sb; in squashfs_read_inode()
126 err = squashfs_new_inode(sb, inode, sqshb_ino); in squashfs_read_inode()
159 inode->i_nlink = 1; in squashfs_read_inode()
160 inode->i_size = le32_to_cpu(sqsh_ino->file_size); in squashfs_read_inode()
161 inode->i_fop = &generic_ro_fops; in squashfs_read_inode()
162 inode->i_mode |= S_IFREG; in squashfs_read_inode()
163 inode->i_blocks = ((inode->i_size - 1) >> 9) + 1; in squashfs_read_inode()
164 squashfs_i(inode)->fragment_block = frag_blk; in squashfs_read_inode()
165 squashfs_i(inode)->fragment_size = frag_size; in squashfs_read_inode()
166 squashfs_i(inode)->fragment_offset = frag_offset; in squashfs_read_inode()
167 squashfs_i(inode)->start = le32_to_cpu(sqsh_ino->start_block); in squashfs_read_inode()
168 squashfs_i(inode)->block_list_start = block; in squashfs_read_inode()
169 squashfs_i(inode)->offset = offset; in squashfs_read_inode()
170 inode->i_data.a_ops = &squashfs_aops; in squashfs_read_inode()
174 offset, squashfs_i(inode)->start, block, offset); in squashfs_read_inode()
201 inode->i_nlink = le32_to_cpu(sqsh_ino->nlink); in squashfs_read_inode()
202 inode->i_size = le64_to_cpu(sqsh_ino->file_size); in squashfs_read_inode()
203 inode->i_fop = &generic_ro_fops; in squashfs_read_inode()
204 inode->i_mode |= S_IFREG; in squashfs_read_inode()
205 inode->i_blocks = ((inode->i_size - in squashfs_read_inode()
208 squashfs_i(inode)->fragment_block = frag_blk; in squashfs_read_inode()
209 squashfs_i(inode)->fragment_size = frag_size; in squashfs_read_inode()
210 squashfs_i(inode)->fragment_offset = frag_offset; in squashfs_read_inode()
211 squashfs_i(inode)->start = le64_to_cpu(sqsh_ino->start_block); in squashfs_read_inode()
212 squashfs_i(inode)->block_list_start = block; in squashfs_read_inode()
213 squashfs_i(inode)->offset = offset; in squashfs_read_inode()
214 inode->i_data.a_ops = &squashfs_aops; in squashfs_read_inode()
218 offset, squashfs_i(inode)->start, block, offset); in squashfs_read_inode()
229 inode->i_nlink = le32_to_cpu(sqsh_ino->nlink); in squashfs_read_inode()
230 inode->i_size = le16_to_cpu(sqsh_ino->file_size); in squashfs_read_inode()
231 inode->i_op = &squashfs_dir_inode_ops; in squashfs_read_inode()
232 inode->i_fop = &squashfs_dir_ops; in squashfs_read_inode()
233 inode->i_mode |= S_IFDIR; in squashfs_read_inode()
234 squashfs_i(inode)->start = le32_to_cpu(sqsh_ino->start_block); in squashfs_read_inode()
235 squashfs_i(inode)->offset = le16_to_cpu(sqsh_ino->offset); in squashfs_read_inode()
236 squashfs_i(inode)->dir_idx_cnt = 0; in squashfs_read_inode()
237 squashfs_i(inode)->parent = le32_to_cpu(sqsh_ino->parent_inode); in squashfs_read_inode()
241 squashfs_i(inode)->start, in squashfs_read_inode()
253 inode->i_nlink = le32_to_cpu(sqsh_ino->nlink); in squashfs_read_inode()
254 inode->i_size = le32_to_cpu(sqsh_ino->file_size); in squashfs_read_inode()
255 inode->i_op = &squashfs_dir_inode_ops; in squashfs_read_inode()
256 inode->i_fop = &squashfs_dir_ops; in squashfs_read_inode()
257 inode->i_mode |= S_IFDIR; in squashfs_read_inode()
258 squashfs_i(inode)->start = le32_to_cpu(sqsh_ino->start_block); in squashfs_read_inode()
259 squashfs_i(inode)->offset = le16_to_cpu(sqsh_ino->offset); in squashfs_read_inode()
260 squashfs_i(inode)->dir_idx_start = block; in squashfs_read_inode()
261 squashfs_i(inode)->dir_idx_offset = offset; in squashfs_read_inode()
262 squashfs_i(inode)->dir_idx_cnt = le16_to_cpu(sqsh_ino->i_count); in squashfs_read_inode()
263 squashfs_i(inode)->parent = le32_to_cpu(sqsh_ino->parent_inode); in squashfs_read_inode()
267 squashfs_i(inode)->start, in squashfs_read_inode()
280 inode->i_nlink = le32_to_cpu(sqsh_ino->nlink); in squashfs_read_inode()
281 inode->i_size = le32_to_cpu(sqsh_ino->symlink_size); in squashfs_read_inode()
282 inode->i_op = &page_symlink_inode_operations; in squashfs_read_inode()
283 inode->i_data.a_ops = &squashfs_symlink_aops; in squashfs_read_inode()
284 inode->i_mode |= S_IFLNK; in squashfs_read_inode()
285 squashfs_i(inode)->start = block; in squashfs_read_inode()
286 squashfs_i(inode)->offset = offset; in squashfs_read_inode()
306 inode->i_mode |= S_IFCHR; in squashfs_read_inode()
308 inode->i_mode |= S_IFBLK; in squashfs_read_inode()
309 inode->i_nlink = le32_to_cpu(sqsh_ino->nlink); in squashfs_read_inode()
311 init_special_inode(inode, inode->i_mode, new_decode_dev(rdev)); in squashfs_read_inode()
329 inode->i_mode |= S_IFIFO; in squashfs_read_inode()
331 inode->i_mode |= S_IFSOCK; in squashfs_read_inode()
332 inode->i_nlink = le32_to_cpu(sqsh_ino->nlink); in squashfs_read_inode()
333 init_special_inode(inode, inode->i_mode, 0); in squashfs_read_inode()