Home | History | Annotate | Download | only in squashfs-tools

Lines Matching defs:file_buffer

318 	struct file_buffer *file_buffer, int blocks, unsigned short checksum,
1414 static struct file_buffer *get_fragment(struct fragment *fragment)
1417 struct file_buffer *buffer, *compressed_buffer;
1537 struct file_buffer *frag_buffer;
1592 struct file_buffer *write_buffer;
1620 void add_pending_fragment(struct file_buffer *write_buffer, int c_byte,
1630 void write_fragment(struct file_buffer *fragment)
1644 struct file_buffer *allocate_fragment()
1646 struct file_buffer *fragment = cache_get(fragment_buffer, fragments);
1678 struct fragment *get_and_fill_fragment(struct file_buffer *file_buffer,
1682 struct file_buffer **fragment;
1684 if(file_buffer == NULL || file_buffer->size == 0)
1689 if((*fragment) && (*fragment)->size + file_buffer->size > block_size) {
1703 ffrg->size = file_buffer->size;
1704 memcpy((*fragment)->data + (*fragment)->size, file_buffer->data,
1705 file_buffer->size);
1706 (*fragment)->size += file_buffer->size;
1835 struct file_buffer *write_buffer;
1872 unsigned short get_checksum_mem_buffer(struct file_buffer *file_buffer)
1874 if(file_buffer == NULL)
1877 return get_checksum(file_buffer->data, file_buffer->size, 0);
1976 struct fragment *frag_duplicate(struct file_buffer *file_buffer, char *dont_put)
1979 struct file_buffer *buffer;
1980 struct file_info *dupl_start = file_buffer->dupl_start;
1981 long long file_size = file_buffer->file_size;
1982 unsigned short checksum = file_buffer->checksum;
1985 if(file_buffer->duplicate) {
2001 res = memcmp(file_buffer->data, buffer->data +
2023 struct file_buffer *file_buffer, int blocks, unsigned short checksum,
2027 int frag_bytes = file_buffer ? file_buffer->size : 0;
2028 unsigned short fragment_checksum = file_buffer ?
2029 file_buffer->checksum : 0;
2063 struct file_buffer *target_buffer = NULL;
2064 struct file_buffer *dup_buffer = NULL;
2110 struct file_buffer *frag_buffer =
2114 memcmp(file_buffer->data,
2161 void put_file_buffer(struct file_buffer *file_buffer)
2169 if(file_buffer->error) {
2170 file_buffer->fragment = 0;
2171 seq_queue_put(to_main, file_buffer);
2172 } else if (file_buffer->file_size == 0)
2173 seq_queue_put(to_main, file_buffer);
2174 else if(file_buffer->fragment)
2175 queue_put(to_process_frag, file_buffer);
2177 queue_put(to_deflate, file_buffer);
2186 struct file_buffer *prev_buffer = NULL, *file_buffer;
2191 file_buffer = cache_get_nohash(reader_buffer);
2192 file_buffer->sequence = seq ++;
2197 file_buffer = cache_get_nohash(reader_buffer);
2198 file_buffer->sequence = seq ++;
2199 file_buffer->noD = inode->noD;
2201 byte = read_bytes(file, file_buffer->data, block_size);
2205 file_buffer->size = byte;
2206 file_buffer->file_size = -1;
2207 file_buffer->error = FALSE;
2208 file_buffer->fragment = FALSE;
2225 prev_buffer = file_buffer;
2241 prev_buffer = file_buffer;
2243 cache_block_put(file_buffer);
2256 cache_block_put(file_buffer);
2258 file_buffer = prev_buffer;
2260 file_buffer->error = TRUE;
2261 put_file_buffer(file_buffer);
2268 struct file_buffer *file_buffer;
2284 file_buffer = cache_get_nohash(reader_buffer);
2285 file_buffer->sequence = seq ++;
2290 file_buffer = cache_get_nohash(reader_buffer);
2291 file_buffer->file_size = read_size;
2292 file_buffer->sequence = seq ++;
2293 file_buffer->noD = inode->noD;
2294 file_buffer->error = FALSE;
2305 file_buffer->size = read_bytes(file, file_buffer->data,
2307 if(file_buffer->size == -1)
2310 bytes += file_buffer->size;
2314 if(file_buffer->size < block_size)
2317 file_buffer->fragment = FALSE;
2318 put_file_buffer(file_buffer);
2343 file_buffer->fragment = is_fragment(inode);
2344 put_file_buffer(file_buffer);
2361 file_buffer->error = 2;
2362 put_file_buffer(file_buffer);
2368 file_buffer->error = TRUE;
2369 put_file_buffer(file_buffer);
2420 struct file_buffer *file_buffer = queue_get(to_writer);
2423 if(file_buffer == NULL) {
2428 off = file_buffer->block;
2441 if(write_bytes(fd, file_buffer->data,
2442 file_buffer->size) == -1)
2448 cache_block_put(file_buffer);
2453 file_buffer *file_buffer)
2456 long entries = file_buffer->size / sizeof(long);
2457 long *p = (long *) file_buffer->data;
2462 for(i = file_buffer->size & ~(sizeof(long) - 1);
2463 i < file_buffer->size && file_buffer->data[i] == 0;
2466 return i == file_buffer->size;
2475 struct file_buffer *write_buffer = cache_get_nohash(bwriter_buffer);
2484 struct file_buffer *file_buffer = queue_get(to_deflate);
2486 if(sparse_files && all_zero(file_buffer)) {
2487 file_buffer->c_byte = 0;
2488 seq_queue_put(to_main, file_buffer);
2491 write_buffer->data, file_buffer->data,
2492 file_buffer->size, block_size,
2493 file_buffer->noD, 1);
2494 write_buffer->sequence = file_buffer->sequence;
2495 write_buffer->file_size = file_buffer->file_size;
2496 write_buffer->block = file_buffer->block;
2501 cache_block_put(file_buffer);
2522 struct file_buffer *file_buffer = queue_get(to_frag);
2523 struct file_buffer *write_buffer =
2524 cache_get(fwriter_buffer, file_buffer->block);
2526 c_byte = mangle2(stream, write_buffer->data, file_buffer->data,
2527 file_buffer->size, block_size, noF, 1);
2532 fragment_table[file_buffer->block].size = c_byte;
2533 fragment_table[file_buffer->block].start_block = bytes;
2540 "compressed size %d\n", file_buffer->block,
2541 file_buffer->size, compressed_size);
2544 file_buffer->block);
2547 cache_block_put(file_buffer);
2554 struct file_buffer *get_file_buffer()
2556 struct file_buffer *file_buffer = seq_queue_get(to_main);
2558 return file_buffer;
2563 struct file_buffer *file_buffer, int *duplicate_file)
2567 cache_block_put(file_buffer);
2574 struct file_buffer *file_buffer, int *duplicate_file)
2576 int size = file_buffer->file_size;
2578 unsigned short checksum = file_buffer->checksum;
2581 fragment = frag_duplicate(file_buffer, &dont_put);
2584 fragment = get_and_fill_fragment(file_buffer, dir_ent);
2591 free(file_buffer);
2593 cache_block_put(file_buffer);
2609 struct file_buffer *read_buffer, int *duplicate_file)
2616 struct file_buffer *fragment_buffer = NULL;
2699 struct file_buffer *read_buffer, int *duplicate_file)
2708 struct file_buffer **buffer_list;
2711 struct file_buffer *fragment_buffer = NULL;
2718 buffer_list = malloc(blocks * sizeof(struct file_buffer *));
2841 struct file_buffer *read_buffer, int *dup)
2850 struct file_buffer *fragment_buffer = NULL;
2956 struct file_buffer *read_buffer;
5479 struct file_buffer **fragment = NULL;