/kernel/linux/linux-5.10/fs/squashfs/ |
H A D | super.c | 89 struct squashfs_sb_info *msblk; in squashfs_fill_super() local 113 sb->s_fs_info = kzalloc(sizeof(*msblk), GFP_KERNEL); in squashfs_fill_super() 118 msblk = sb->s_fs_info; in squashfs_fill_super() 120 msblk->devblksize = sb_min_blocksize(sb, SQUASHFS_DEVBLK_SIZE); in squashfs_fill_super() 121 msblk->devblksize_log2 = ffz(~msblk->devblksize); in squashfs_fill_super() 123 mutex_init(&msblk->meta_index_mutex); in squashfs_fill_super() 126 * msblk->bytes_used is checked in squashfs_read_table to ensure reads in squashfs_fill_super() 131 msblk->bytes_used = sizeof(*sblk); in squashfs_fill_super() 153 msblk in squashfs_fill_super() 403 struct squashfs_sb_info *msblk = dentry->d_sb->s_fs_info; squashfs_statfs() local [all...] |
H A D | decompressor_multi_percpu.c | 28 void *squashfs_decompressor_create(struct squashfs_sb_info *msblk, in squashfs_decompressor_create() argument 41 stream->stream = msblk->decompressor->init(msblk, comp_opts); in squashfs_decompressor_create() 56 msblk->decompressor->free(stream->stream); in squashfs_decompressor_create() 62 void squashfs_decompressor_destroy(struct squashfs_sb_info *msblk) in squashfs_decompressor_destroy() argument 65 (struct squashfs_stream __percpu *) msblk->stream; in squashfs_decompressor_destroy() 69 if (msblk->stream) { in squashfs_decompressor_destroy() 72 msblk->decompressor->free(stream->stream); in squashfs_decompressor_destroy() 78 int squashfs_decompress(struct squashfs_sb_info *msblk, struct bio *bio, in squashfs_decompress() argument 84 local_lock(&msblk in squashfs_decompress() [all...] |
H A D | file.c | 51 struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info; in locate_meta_index() local 54 mutex_lock(&msblk->meta_index_mutex); in locate_meta_index() 58 if (msblk->meta_index == NULL) in locate_meta_index() 62 if (msblk->meta_index[i].inode_number == inode->i_ino && in locate_meta_index() 63 msblk->meta_index[i].offset >= offset && in locate_meta_index() 64 msblk->meta_index[i].offset <= index && in locate_meta_index() 65 msblk->meta_index[i].locked == 0) { in locate_meta_index() 67 msblk->meta_index[i].offset); in locate_meta_index() 68 meta = &msblk->meta_index[i]; in locate_meta_index() 77 mutex_unlock(&msblk in locate_meta_index() 89 struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info; empty_meta_index() local 149 struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info; release_meta_index() local 230 struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info; fill_meta_index() local 386 struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info; squashfs_copy_cache() local 450 struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info; squashfs_readpage() local [all...] |
H A D | decompressor_single.c | 27 void *squashfs_decompressor_create(struct squashfs_sb_info *msblk, in squashfs_decompressor_create() argument 37 stream->stream = msblk->decompressor->init(msblk, comp_opts); in squashfs_decompressor_create() 52 void squashfs_decompressor_destroy(struct squashfs_sb_info *msblk) in squashfs_decompressor_destroy() argument 54 struct squashfs_stream *stream = msblk->stream; in squashfs_decompressor_destroy() 57 msblk->decompressor->free(stream->stream); in squashfs_decompressor_destroy() 62 int squashfs_decompress(struct squashfs_sb_info *msblk, struct bio *bio, in squashfs_decompress() argument 67 struct squashfs_stream *stream = msblk->stream; in squashfs_decompress() 70 res = msblk->decompressor->decompress(msblk, strea in squashfs_decompress() [all...] |
H A D | decompressor_multi.c | 62 void *squashfs_decompressor_create(struct squashfs_sb_info *msblk, in squashfs_decompressor_create() argument 88 decomp_strm->stream = msblk->decompressor->init(msblk, in squashfs_decompressor_create() 106 void squashfs_decompressor_destroy(struct squashfs_sb_info *msblk) in squashfs_decompressor_destroy() argument 108 struct squashfs_stream *stream = msblk->stream; in squashfs_decompressor_destroy() 116 msblk->decompressor->free(decomp_strm->stream); in squashfs_decompressor_destroy() 127 static struct decomp_stream *get_decomp_stream(struct squashfs_sb_info *msblk, in get_decomp_stream() argument 156 decomp_strm->stream = msblk->decompressor->init(msblk, in get_decomp_stream() 183 int squashfs_decompress(struct squashfs_sb_info *msblk, struc argument [all...] |
H A D | block.c | 79 struct squashfs_sb_info *msblk = sb->s_fs_info; in squashfs_bio_read() local 80 const u64 read_start = round_down(index, msblk->devblksize); in squashfs_bio_read() 81 const sector_t block = read_start >> msblk->devblksize_log2; in squashfs_bio_read() 82 const u64 read_end = round_up(index + length, msblk->devblksize); in squashfs_bio_read() 83 const sector_t block_end = read_end >> msblk->devblksize_log2; in squashfs_bio_read() 85 int total_len = (block_end - block) << msblk->devblksize_log2; in squashfs_bio_read() 100 bio->bi_iter.bi_sector = block * (msblk->devblksize >> SECTOR_SHIFT); in squashfs_bio_read() 124 *block_offset = index & ((1 << msblk->devblksize_log2) - 1); in squashfs_bio_read() 145 struct squashfs_sb_info *msblk = sb->s_fs_info; in squashfs_read_data() local 167 if (index + 2 > msblk in squashfs_read_data() [all...] |
H A D | decompressor.h | 26 static inline void *squashfs_comp_opts(struct squashfs_sb_info *msblk, in squashfs_comp_opts() argument 29 return msblk->decompressor->comp_opts ? in squashfs_comp_opts() 30 msblk->decompressor->comp_opts(msblk, buff, length) : NULL; in squashfs_comp_opts()
|
H A D | xattr_id.c | 31 struct squashfs_sb_info *msblk = sb->s_fs_info; in squashfs_xattr_lookup() local 38 if (index >= msblk->xattr_ids) in squashfs_xattr_lookup() 41 start_block = le64_to_cpu(msblk->xattr_id_table[block]); in squashfs_xattr_lookup() 61 struct squashfs_sb_info *msblk = sb->s_fs_info; in squashfs_read_xattr_id_table() local 90 end = msblk->bytes_used; in squashfs_read_xattr_id_table()
|
H A D | namei.c | 68 struct squashfs_sb_info *msblk = sb->s_fs_info; in get_dir_index_using_name() local 109 msblk->directory_table; in get_dir_index_using_name() 132 struct squashfs_sb_info *msblk = dir->i_sb->s_fs_info; in squashfs_lookup() local 135 u64 block = squashfs_i(dir)->start + msblk->directory_table; in squashfs_lookup() 227 squashfs_i(dir)->start + msblk->directory_table, in squashfs_lookup()
|
H A D | xattr.c | 31 struct squashfs_sb_info *msblk = sb->s_fs_info; in squashfs_listxattr() local 33 + msblk->xattr_table; in squashfs_listxattr() 40 if (msblk->xattr_id_table == NULL) in squashfs_listxattr() 109 struct squashfs_sb_info *msblk = sb->s_fs_info; in squashfs_xattr_get() local 111 + msblk->xattr_table; in squashfs_xattr_get() 162 msblk->xattr_table; in squashfs_xattr_get()
|
H A D | fragment.c | 38 struct squashfs_sb_info *msblk = sb->s_fs_info; in squashfs_frag_lookup() local 43 if (fragment >= msblk->fragments) in squashfs_frag_lookup() 48 start_block = le64_to_cpu(msblk->fragment_index[block]); in squashfs_frag_lookup()
|
H A D | lz4_wrapper.c | 32 static void *lz4_comp_opts(struct squashfs_sb_info *msblk, in lz4_comp_opts() argument 52 static void *lz4_init(struct squashfs_sb_info *msblk, void *buff) in lz4_init() argument 54 int block_size = max_t(int, msblk->block_size, SQUASHFS_METADATA_SIZE); in lz4_init() 91 static int lz4_uncompress(struct squashfs_sb_info *msblk, void *strm, in lz4_uncompress() argument
|
H A D | decompressor.c | 90 struct squashfs_sb_info *msblk = sb->s_fs_info; in get_comp_opts() local 120 comp_opts = squashfs_comp_opts(msblk, buffer, length); in get_comp_opts() 131 struct squashfs_sb_info *msblk = sb->s_fs_info; in squashfs_decompressor_setup() local 137 stream = squashfs_decompressor_create(msblk, comp_opts); in squashfs_decompressor_setup()
|
/kernel/linux/linux-6.6/fs/squashfs/ |
H A D | super.c | 183 struct squashfs_sb_info *msblk; in squashfs_fill_super() local 194 sb->s_fs_info = kzalloc(sizeof(*msblk), GFP_KERNEL); in squashfs_fill_super() 199 msblk = sb->s_fs_info; in squashfs_fill_super() 200 msblk->thread_ops = opts->thread_ops; in squashfs_fill_super() 202 msblk->panic_on_errors = (opts->errors == Opt_errors_panic); in squashfs_fill_super() 204 msblk->devblksize = sb_min_blocksize(sb, SQUASHFS_DEVBLK_SIZE); in squashfs_fill_super() 205 msblk->devblksize_log2 = ffz(~msblk->devblksize); in squashfs_fill_super() 207 mutex_init(&msblk->meta_index_mutex); in squashfs_fill_super() 210 * msblk in squashfs_fill_super() 491 struct squashfs_sb_info *msblk = sb->s_fs_info; squashfs_reconfigure() local 517 struct squashfs_sb_info *msblk = sb->s_fs_info; squashfs_show_options() local 565 struct squashfs_sb_info *msblk = dentry->d_sb->s_fs_info; squashfs_statfs() local [all...] |
H A D | file.c | 52 struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info; in locate_meta_index() local 55 mutex_lock(&msblk->meta_index_mutex); in locate_meta_index() 59 if (msblk->meta_index == NULL) in locate_meta_index() 63 if (msblk->meta_index[i].inode_number == inode->i_ino && in locate_meta_index() 64 msblk->meta_index[i].offset >= offset && in locate_meta_index() 65 msblk->meta_index[i].offset <= index && in locate_meta_index() 66 msblk->meta_index[i].locked == 0) { in locate_meta_index() 68 msblk->meta_index[i].offset); in locate_meta_index() 69 meta = &msblk->meta_index[i]; in locate_meta_index() 78 mutex_unlock(&msblk in locate_meta_index() 90 struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info; empty_meta_index() local 150 struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info; release_meta_index() local 231 struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info; fill_meta_index() local 387 struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info; squashfs_copy_cache() local 452 struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info; squashfs_read_folio() local 507 struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info; squashfs_readahead_fragment() local 539 struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info; squashfs_readahead() local [all...] |
H A D | decompressor_multi.c | 61 static void *squashfs_decompressor_create(struct squashfs_sb_info *msblk, in squashfs_decompressor_create() argument 87 decomp_strm->stream = msblk->decompressor->init(msblk, in squashfs_decompressor_create() 105 static void squashfs_decompressor_destroy(struct squashfs_sb_info *msblk) in squashfs_decompressor_destroy() argument 107 struct squashfs_stream *stream = msblk->stream; in squashfs_decompressor_destroy() 115 msblk->decompressor->free(decomp_strm->stream); in squashfs_decompressor_destroy() 126 static struct decomp_stream *get_decomp_stream(struct squashfs_sb_info *msblk, in get_decomp_stream() argument 147 if (stream->avail_decomp >= msblk->max_thread_num) in get_decomp_stream() 155 decomp_strm->stream = msblk->decompressor->init(msblk, in get_decomp_stream() 182 squashfs_decompress(struct squashfs_sb_info *msblk, struct bio *bio, int offset, int length, struct squashfs_page_actor *output) squashfs_decompress() argument [all...] |
H A D | decompressor_single.c | 27 static void *squashfs_decompressor_create(struct squashfs_sb_info *msblk, in squashfs_decompressor_create() argument 37 stream->stream = msblk->decompressor->init(msblk, comp_opts); in squashfs_decompressor_create() 52 static void squashfs_decompressor_destroy(struct squashfs_sb_info *msblk) in squashfs_decompressor_destroy() argument 54 struct squashfs_stream *stream = msblk->stream; in squashfs_decompressor_destroy() 57 msblk->decompressor->free(stream->stream); in squashfs_decompressor_destroy() 62 static int squashfs_decompress(struct squashfs_sb_info *msblk, struct bio *bio, in squashfs_decompress() argument 67 struct squashfs_stream *stream = msblk->stream; in squashfs_decompress() 70 res = msblk->decompressor->decompress(msblk, strea in squashfs_decompress() [all...] |
H A D | decompressor_multi_percpu.c | 27 static void *squashfs_decompressor_create(struct squashfs_sb_info *msblk, in squashfs_decompressor_create() argument 40 stream->stream = msblk->decompressor->init(msblk, comp_opts); in squashfs_decompressor_create() 55 msblk->decompressor->free(stream->stream); in squashfs_decompressor_create() 61 static void squashfs_decompressor_destroy(struct squashfs_sb_info *msblk) in squashfs_decompressor_destroy() argument 64 (struct squashfs_stream __percpu *) msblk->stream; in squashfs_decompressor_destroy() 68 if (msblk->stream) { in squashfs_decompressor_destroy() 71 msblk->decompressor->free(stream->stream); in squashfs_decompressor_destroy() 77 static int squashfs_decompress(struct squashfs_sb_info *msblk, struct bio *bio, in squashfs_decompress() argument 82 (struct squashfs_stream __percpu *) msblk in squashfs_decompress() [all...] |
H A D | block.c | 192 struct squashfs_sb_info *msblk = sb->s_fs_info; in squashfs_bio_read() local 193 struct address_space *cache_mapping = msblk->cache_mapping; in squashfs_bio_read() 194 const u64 read_start = round_down(index, msblk->devblksize); in squashfs_bio_read() 195 const sector_t block = read_start >> msblk->devblksize_log2; in squashfs_bio_read() 196 const u64 read_end = round_up(index + length, msblk->devblksize); in squashfs_bio_read() 197 const sector_t block_end = read_end >> msblk->devblksize_log2; in squashfs_bio_read() 199 int total_len = (block_end - block) << msblk->devblksize_log2; in squashfs_bio_read() 208 bio->bi_iter.bi_sector = block * (msblk->devblksize >> SECTOR_SHIFT); in squashfs_bio_read() 244 *block_offset = index & ((1 << msblk->devblksize_log2) - 1); in squashfs_bio_read() 266 struct squashfs_sb_info *msblk in squashfs_read_data() local [all...] |
H A D | decompressor.h | 27 static inline void *squashfs_comp_opts(struct squashfs_sb_info *msblk, in squashfs_comp_opts() argument 30 return msblk->decompressor->comp_opts ? in squashfs_comp_opts() 31 msblk->decompressor->comp_opts(msblk, buff, length) : NULL; in squashfs_comp_opts()
|
H A D | decompressor.c | 89 struct squashfs_sb_info *msblk = sb->s_fs_info; in get_comp_opts() local 119 comp_opts = squashfs_comp_opts(msblk, buffer, length); in get_comp_opts() 130 struct squashfs_sb_info *msblk = sb->s_fs_info; in squashfs_decompressor_setup() local 136 stream = msblk->thread_ops->create(msblk, comp_opts); in squashfs_decompressor_setup()
|
H A D | xattr_id.c | 31 struct squashfs_sb_info *msblk = sb->s_fs_info; in squashfs_xattr_lookup() local 38 if (index >= msblk->xattr_ids) in squashfs_xattr_lookup() 41 start_block = le64_to_cpu(msblk->xattr_id_table[block]); in squashfs_xattr_lookup() 61 struct squashfs_sb_info *msblk = sb->s_fs_info; in squashfs_read_xattr_id_table() local 90 end = msblk->bytes_used; in squashfs_read_xattr_id_table()
|
H A D | namei.c | 68 struct squashfs_sb_info *msblk = sb->s_fs_info; in get_dir_index_using_name() local 109 msblk->directory_table; in get_dir_index_using_name() 132 struct squashfs_sb_info *msblk = dir->i_sb->s_fs_info; in squashfs_lookup() local 135 u64 block = squashfs_i(dir)->start + msblk->directory_table; in squashfs_lookup() 227 squashfs_i(dir)->start + msblk->directory_table, in squashfs_lookup()
|
H A D | xattr.c | 31 struct squashfs_sb_info *msblk = sb->s_fs_info; in squashfs_listxattr() local 33 + msblk->xattr_table; in squashfs_listxattr() 40 if (msblk->xattr_id_table == NULL) in squashfs_listxattr() 109 struct squashfs_sb_info *msblk = sb->s_fs_info; in squashfs_xattr_get() local 111 + msblk->xattr_table; in squashfs_xattr_get() 162 msblk->xattr_table; in squashfs_xattr_get()
|
H A D | fragment.c | 38 struct squashfs_sb_info *msblk = sb->s_fs_info; in squashfs_frag_lookup() local 43 if (fragment >= msblk->fragments) in squashfs_frag_lookup() 48 start_block = le64_to_cpu(msblk->fragment_index[block]); in squashfs_frag_lookup()
|