Lines Matching refs:inode
57 static int squashfs_new_inode(struct super_block *sb, struct inode *inode, in squashfs_new_inode() argument
72 i_uid_write(inode, i_uid); in squashfs_new_inode()
73 i_gid_write(inode, i_gid); in squashfs_new_inode()
74 inode->i_ino = le32_to_cpu(sqsh_ino->inode_number); in squashfs_new_inode()
75 inode->i_mtime.tv_sec = le32_to_cpu(sqsh_ino->mtime); in squashfs_new_inode()
76 inode->i_atime.tv_sec = inode->i_mtime.tv_sec; in squashfs_new_inode()
77 inode->i_ctime.tv_sec = inode->i_mtime.tv_sec; in squashfs_new_inode()
78 inode->i_mode = le16_to_cpu(sqsh_ino->mode); in squashfs_new_inode()
79 inode->i_size = 0; in squashfs_new_inode()
85 struct inode *squashfs_iget(struct super_block *sb, long long ino, in squashfs_iget()
88 struct inode *inode = iget_locked(sb, ino_number); in squashfs_iget() local
93 if (!inode) in squashfs_iget()
95 if (!(inode->i_state & I_NEW)) in squashfs_iget()
96 return inode; in squashfs_iget()
98 err = squashfs_read_inode(inode, ino); in squashfs_iget()
100 iget_failed(inode); in squashfs_iget()
104 unlock_new_inode(inode); in squashfs_iget()
105 return inode; in squashfs_iget()
113 int squashfs_read_inode(struct inode *inode, long long ino) in squashfs_read_inode() argument
115 struct super_block *sb = inode->i_sb; in squashfs_read_inode()
133 err = squashfs_new_inode(sb, inode, sqshb_ino); in squashfs_read_inode()
167 set_nlink(inode, 1); in squashfs_read_inode()
168 inode->i_size = le32_to_cpu(sqsh_ino->file_size); in squashfs_read_inode()
169 inode->i_fop = &generic_ro_fops; in squashfs_read_inode()
170 inode->i_mode |= S_IFREG; in squashfs_read_inode()
171 inode->i_blocks = ((inode->i_size - 1) >> 9) + 1; in squashfs_read_inode()
172 squashfs_i(inode)->fragment_block = frag_blk; in squashfs_read_inode()
173 squashfs_i(inode)->fragment_size = frag_size; in squashfs_read_inode()
174 squashfs_i(inode)->fragment_offset = frag_offset; in squashfs_read_inode()
175 squashfs_i(inode)->start = le32_to_cpu(sqsh_ino->start_block); in squashfs_read_inode()
176 squashfs_i(inode)->block_list_start = block; in squashfs_read_inode()
177 squashfs_i(inode)->offset = offset; in squashfs_read_inode()
178 inode->i_data.a_ops = &squashfs_aops; in squashfs_read_inode()
182 offset, squashfs_i(inode)->start, block, offset); in squashfs_read_inode()
211 set_nlink(inode, le32_to_cpu(sqsh_ino->nlink)); in squashfs_read_inode()
212 inode->i_size = le64_to_cpu(sqsh_ino->file_size); in squashfs_read_inode()
213 inode->i_op = &squashfs_inode_ops; in squashfs_read_inode()
214 inode->i_fop = &generic_ro_fops; in squashfs_read_inode()
215 inode->i_mode |= S_IFREG; in squashfs_read_inode()
216 inode->i_blocks = (inode->i_size - in squashfs_read_inode()
219 squashfs_i(inode)->fragment_block = frag_blk; in squashfs_read_inode()
220 squashfs_i(inode)->fragment_size = frag_size; in squashfs_read_inode()
221 squashfs_i(inode)->fragment_offset = frag_offset; in squashfs_read_inode()
222 squashfs_i(inode)->start = le64_to_cpu(sqsh_ino->start_block); in squashfs_read_inode()
223 squashfs_i(inode)->block_list_start = block; in squashfs_read_inode()
224 squashfs_i(inode)->offset = offset; in squashfs_read_inode()
225 inode->i_data.a_ops = &squashfs_aops; in squashfs_read_inode()
229 offset, squashfs_i(inode)->start, block, offset); in squashfs_read_inode()
240 set_nlink(inode, le32_to_cpu(sqsh_ino->nlink)); in squashfs_read_inode()
241 inode->i_size = le16_to_cpu(sqsh_ino->file_size); in squashfs_read_inode()
242 inode->i_op = &squashfs_dir_inode_ops; in squashfs_read_inode()
243 inode->i_fop = &squashfs_dir_ops; in squashfs_read_inode()
244 inode->i_mode |= S_IFDIR; in squashfs_read_inode()
245 squashfs_i(inode)->start = le32_to_cpu(sqsh_ino->start_block); in squashfs_read_inode()
246 squashfs_i(inode)->offset = le16_to_cpu(sqsh_ino->offset); in squashfs_read_inode()
247 squashfs_i(inode)->dir_idx_cnt = 0; in squashfs_read_inode()
248 squashfs_i(inode)->parent = le32_to_cpu(sqsh_ino->parent_inode); in squashfs_read_inode()
252 squashfs_i(inode)->start, in squashfs_read_inode()
265 set_nlink(inode, le32_to_cpu(sqsh_ino->nlink)); in squashfs_read_inode()
266 inode->i_size = le32_to_cpu(sqsh_ino->file_size); in squashfs_read_inode()
267 inode->i_op = &squashfs_dir_inode_ops; in squashfs_read_inode()
268 inode->i_fop = &squashfs_dir_ops; in squashfs_read_inode()
269 inode->i_mode |= S_IFDIR; in squashfs_read_inode()
270 squashfs_i(inode)->start = le32_to_cpu(sqsh_ino->start_block); in squashfs_read_inode()
271 squashfs_i(inode)->offset = le16_to_cpu(sqsh_ino->offset); in squashfs_read_inode()
272 squashfs_i(inode)->dir_idx_start = block; in squashfs_read_inode()
273 squashfs_i(inode)->dir_idx_offset = offset; in squashfs_read_inode()
274 squashfs_i(inode)->dir_idx_cnt = le16_to_cpu(sqsh_ino->i_count); in squashfs_read_inode()
275 squashfs_i(inode)->parent = le32_to_cpu(sqsh_ino->parent_inode); in squashfs_read_inode()
279 squashfs_i(inode)->start, in squashfs_read_inode()
292 set_nlink(inode, le32_to_cpu(sqsh_ino->nlink)); in squashfs_read_inode()
293 inode->i_size = le32_to_cpu(sqsh_ino->symlink_size); in squashfs_read_inode()
294 inode->i_op = &squashfs_symlink_inode_ops; in squashfs_read_inode()
295 inode_nohighmem(inode); in squashfs_read_inode()
296 inode->i_data.a_ops = &squashfs_symlink_aops; in squashfs_read_inode()
297 inode->i_mode |= S_IFLNK; in squashfs_read_inode()
298 squashfs_i(inode)->start = block; in squashfs_read_inode()
299 squashfs_i(inode)->offset = offset; in squashfs_read_inode()
305 &offset, inode->i_size); in squashfs_read_inode()
331 inode->i_mode |= S_IFCHR; in squashfs_read_inode()
333 inode->i_mode |= S_IFBLK; in squashfs_read_inode()
334 set_nlink(inode, le32_to_cpu(sqsh_ino->nlink)); in squashfs_read_inode()
336 init_special_inode(inode, inode->i_mode, new_decode_dev(rdev)); in squashfs_read_inode()
353 inode->i_mode |= S_IFCHR; in squashfs_read_inode()
355 inode->i_mode |= S_IFBLK; in squashfs_read_inode()
357 inode->i_op = &squashfs_inode_ops; in squashfs_read_inode()
358 set_nlink(inode, le32_to_cpu(sqsh_ino->nlink)); in squashfs_read_inode()
360 init_special_inode(inode, inode->i_mode, new_decode_dev(rdev)); in squashfs_read_inode()
376 inode->i_mode |= S_IFIFO; in squashfs_read_inode()
378 inode->i_mode |= S_IFSOCK; in squashfs_read_inode()
379 set_nlink(inode, le32_to_cpu(sqsh_ino->nlink)); in squashfs_read_inode()
380 init_special_inode(inode, inode->i_mode, 0); in squashfs_read_inode()
393 inode->i_mode |= S_IFIFO; in squashfs_read_inode()
395 inode->i_mode |= S_IFSOCK; in squashfs_read_inode()
397 inode->i_op = &squashfs_inode_ops; in squashfs_read_inode()
398 set_nlink(inode, le32_to_cpu(sqsh_ino->nlink)); in squashfs_read_inode()
399 init_special_inode(inode, inode->i_mode, 0); in squashfs_read_inode()
409 &squashfs_i(inode)->xattr_count, in squashfs_read_inode()
410 &squashfs_i(inode)->xattr_size, in squashfs_read_inode()
411 &squashfs_i(inode)->xattr); in squashfs_read_inode()
414 inode->i_blocks += ((squashfs_i(inode)->xattr_size - 1) >> 9) in squashfs_read_inode()
417 squashfs_i(inode)->xattr_count = 0; in squashfs_read_inode()