Lines Matching full:length
76 static int squashfs_bio_read(struct super_block *sb, u64 index, int length, in squashfs_bio_read() argument
82 const u64 read_end = round_up(index + length, msblk->devblksize); in squashfs_bio_read()
134 * Read and decompress a metadata block or datablock. Length is non-zero
136 * filesystem), otherwise the length is obtained from the first two bytes of
137 * the metadata block. A bit in the length field indicates if the block
142 int squashfs_read_data(struct super_block *sb, u64 index, int length, in squashfs_read_data() argument
151 if (length) { in squashfs_read_data()
155 compressed = SQUASHFS_COMPRESSED_BLOCK(length); in squashfs_read_data()
156 length = SQUASHFS_COMPRESSED_SIZE_BLOCK(length); in squashfs_read_data()
158 index, compressed ? "" : "un", length, output->length); in squashfs_read_data()
179 /* Extract the length of the metadata block */ in squashfs_read_data()
181 length = data[offset]; in squashfs_read_data()
183 length |= data[offset + 1] << 8; in squashfs_read_data()
190 length |= data[0] << 8; in squashfs_read_data()
195 compressed = SQUASHFS_COMPRESSED(length); in squashfs_read_data()
196 length = SQUASHFS_COMPRESSED_SIZE(length); in squashfs_read_data()
200 compressed ? "" : "un", length); in squashfs_read_data()
202 if (length < 0 || length > output->length || in squashfs_read_data()
203 (index + length) > msblk->bytes_used) { in squashfs_read_data()
209 *next_index = index + length; in squashfs_read_data()
211 res = squashfs_bio_read(sb, index, length, &bio, &offset); in squashfs_read_data()
220 res = squashfs_decompress(msblk, bio, offset, length, output); in squashfs_read_data()
222 res = copy_bio_to_actor(bio, output, offset, length); in squashfs_read_data()