Lines Matching refs:inode

48 static struct meta_index *locate_meta_index(struct inode *inode, int offset,  in locate_meta_index()  argument
52 struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info; in locate_meta_index()
63 if (msblk->meta_index[i].inode_number == inode->i_ino && in locate_meta_index()
87 static struct meta_index *empty_meta_index(struct inode *inode, int offset, in empty_meta_index() argument
90 struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info; in empty_meta_index()
136 meta->inode_number = inode->i_ino; in empty_meta_index()
148 static void release_meta_index(struct inode *inode, struct meta_index *meta) in release_meta_index() argument
150 struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info; in release_meta_index()
228 static int fill_meta_index(struct inode *inode, int index, in fill_meta_index() argument
231 struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info; in fill_meta_index()
232 int skip = calculate_skip(i_size_read(inode) >> msblk->block_log); in fill_meta_index()
236 u64 cur_index_block = squashfs_i(inode)->block_list_start; in fill_meta_index()
237 int cur_offset = squashfs_i(inode)->offset; in fill_meta_index()
238 u64 cur_data_block = squashfs_i(inode)->start; in fill_meta_index()
247 meta = locate_meta_index(inode, offset + 1, index); in fill_meta_index()
250 meta = empty_meta_index(inode, offset + 1, skip); in fill_meta_index()
277 long long res = read_indexes(inode->i_sb, blocks, in fill_meta_index()
304 release_meta_index(inode, meta); in fill_meta_index()
318 release_meta_index(inode, meta); in fill_meta_index()
327 static int read_blocklist(struct inode *inode, int index, u64 *block) in read_blocklist() argument
333 int res = fill_meta_index(inode, index, &start, &offset, block); in read_blocklist()
349 blks = read_indexes(inode->i_sb, index - res, &start, &offset); in read_blocklist()
358 res = squashfs_read_metadata(inode->i_sb, &size, &start, &offset, in read_blocklist()
386 struct inode *inode = page->mapping->host; in squashfs_copy_cache() local
387 struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info; in squashfs_copy_cache()
424 struct inode *inode = page->mapping->host; in squashfs_readpage_fragment() local
425 struct squashfs_cache_entry *buffer = squashfs_get_fragment(inode->i_sb, in squashfs_readpage_fragment()
426 squashfs_i(inode)->fragment_block, in squashfs_readpage_fragment()
427 squashfs_i(inode)->fragment_size); in squashfs_readpage_fragment()
432 squashfs_i(inode)->fragment_block, in squashfs_readpage_fragment()
433 squashfs_i(inode)->fragment_size); in squashfs_readpage_fragment()
436 squashfs_i(inode)->fragment_offset); in squashfs_readpage_fragment()
451 struct inode *inode = page->mapping->host; in squashfs_read_folio() local
452 struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info; in squashfs_read_folio()
454 int file_end = i_size_read(inode) >> msblk->block_log; in squashfs_read_folio()
456 (i_size_read(inode) & (msblk->block_size - 1)) : in squashfs_read_folio()
462 page->index, squashfs_i(inode)->start); in squashfs_read_folio()
464 if (page->index >= ((i_size_read(inode) + PAGE_SIZE - 1) >> in squashfs_read_folio()
468 if (index < file_end || squashfs_i(inode)->fragment_block == in squashfs_read_folio()
472 res = read_blocklist(inode, index, &block); in squashfs_read_folio()
503 struct inode *inode = page[0]->mapping->host; in squashfs_readahead_fragment() local
504 struct squashfs_cache_entry *buffer = squashfs_get_fragment(inode->i_sb, in squashfs_readahead_fragment()
505 squashfs_i(inode)->fragment_block, in squashfs_readahead_fragment()
506 squashfs_i(inode)->fragment_size); in squashfs_readahead_fragment()
507 struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info; in squashfs_readahead_fragment()
514 expected += squashfs_i(inode)->fragment_offset; in squashfs_readahead_fragment()
518 unsigned int offset = base + squashfs_i(inode)->fragment_offset; in squashfs_readahead_fragment()
538 struct inode *inode = ractl->mapping->host; in squashfs_readahead() local
539 struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info; in squashfs_readahead()
547 int i, file_end = i_size_read(inode) >> msblk->block_log; in squashfs_readahead()
564 (i_size_read(inode) & (msblk->block_size - 1)) : in squashfs_readahead()
573 if (readahead_pos(ractl) >= i_size_read(inode)) in squashfs_readahead()
581 if (index == file_end && squashfs_i(inode)->fragment_block != in squashfs_readahead()
590 bsize = read_blocklist(inode, index, &block); in squashfs_readahead()
599 res = squashfs_read_data(inode->i_sb, block, bsize, NULL, actor); in squashfs_readahead()