Lines Matching refs:cb

107 				 struct compressed_bio *cb,  in check_compressed_csum()  argument
115 u32 *cb_sum = &cb->sums; in check_compressed_csum()
120 for (i = 0; i < cb->nr_pages; i++) { in check_compressed_csum()
121 page = cb->compressed_pages[i]; in check_compressed_csum()
133 cb->mirror_num); in check_compressed_csum()
157 struct compressed_bio *cb = bio->bi_private; in end_compressed_bio_read() local
164 cb->errors = 1; in end_compressed_bio_read()
169 if (!atomic_dec_and_test(&cb->pending_bios)) in end_compressed_bio_read()
172 inode = cb->inode; in end_compressed_bio_read()
173 ret = check_compressed_csum(inode, cb, in end_compressed_bio_read()
181 ret = btrfs_decompress_biovec(cb->compress_type, in end_compressed_bio_read()
182 cb->compressed_pages, in end_compressed_bio_read()
183 cb->start, in end_compressed_bio_read()
184 cb->orig_bio->bi_io_vec, in end_compressed_bio_read()
185 cb->orig_bio->bi_vcnt, in end_compressed_bio_read()
186 cb->compressed_len); in end_compressed_bio_read()
189 cb->errors = 1; in end_compressed_bio_read()
193 for (index = 0; index < cb->nr_pages; index++) { in end_compressed_bio_read()
194 page = cb->compressed_pages[index]; in end_compressed_bio_read()
200 if (cb->errors) { in end_compressed_bio_read()
201 bio_io_error(cb->orig_bio); in end_compressed_bio_read()
210 bio_for_each_segment_all(bvec, cb->orig_bio, i) in end_compressed_bio_read()
213 bio_endio(cb->orig_bio, 0); in end_compressed_bio_read()
217 kfree(cb->compressed_pages); in end_compressed_bio_read()
218 kfree(cb); in end_compressed_bio_read()
228 const struct compressed_bio *cb) in end_compressed_writeback() argument
230 unsigned long index = cb->start >> PAGE_CACHE_SHIFT; in end_compressed_writeback()
231 unsigned long end_index = (cb->start + cb->len - 1) >> PAGE_CACHE_SHIFT; in end_compressed_writeback()
237 if (cb->errors) in end_compressed_writeback()
250 if (cb->errors) in end_compressed_writeback()
272 struct compressed_bio *cb = bio->bi_private; in end_compressed_bio_write() local
278 cb->errors = 1; in end_compressed_bio_write()
283 if (!atomic_dec_and_test(&cb->pending_bios)) in end_compressed_bio_write()
289 inode = cb->inode; in end_compressed_bio_write()
291 cb->compressed_pages[0]->mapping = cb->inode->i_mapping; in end_compressed_bio_write()
292 tree->ops->writepage_end_io_hook(cb->compressed_pages[0], in end_compressed_bio_write()
293 cb->start, in end_compressed_bio_write()
294 cb->start + cb->len - 1, in end_compressed_bio_write()
297 cb->compressed_pages[0]->mapping = NULL; in end_compressed_bio_write()
299 end_compressed_writeback(inode, cb); in end_compressed_bio_write()
307 for (index = 0; index < cb->nr_pages; index++) { in end_compressed_bio_write()
308 page = cb->compressed_pages[index]; in end_compressed_bio_write()
314 kfree(cb->compressed_pages); in end_compressed_bio_write()
315 kfree(cb); in end_compressed_bio_write()
337 struct compressed_bio *cb; in btrfs_submit_compressed_write() local
348 cb = kmalloc(compressed_bio_size(root, compressed_len), GFP_NOFS); in btrfs_submit_compressed_write()
349 if (!cb) in btrfs_submit_compressed_write()
351 atomic_set(&cb->pending_bios, 0); in btrfs_submit_compressed_write()
352 cb->errors = 0; in btrfs_submit_compressed_write()
353 cb->inode = inode; in btrfs_submit_compressed_write()
354 cb->start = start; in btrfs_submit_compressed_write()
355 cb->len = len; in btrfs_submit_compressed_write()
356 cb->mirror_num = 0; in btrfs_submit_compressed_write()
357 cb->compressed_pages = compressed_pages; in btrfs_submit_compressed_write()
358 cb->compressed_len = compressed_len; in btrfs_submit_compressed_write()
359 cb->orig_bio = NULL; in btrfs_submit_compressed_write()
360 cb->nr_pages = nr_pages; in btrfs_submit_compressed_write()
366 kfree(cb); in btrfs_submit_compressed_write()
369 bio->bi_private = cb; in btrfs_submit_compressed_write()
371 atomic_inc(&cb->pending_bios); in btrfs_submit_compressed_write()
375 for (pg_index = 0; pg_index < cb->nr_pages; pg_index++) { in btrfs_submit_compressed_write()
396 atomic_inc(&cb->pending_bios); in btrfs_submit_compressed_write()
414 bio->bi_private = cb; in btrfs_submit_compressed_write()
421 bytes_left, cb->compressed_len, cb->nr_pages); in btrfs_submit_compressed_write()
446 struct compressed_bio *cb) in add_ra_bio_pages() argument
462 page = cb->orig_bio->bi_io_vec[cb->orig_bio->bi_vcnt - 1].bv_page; in add_ra_bio_pages()
514 (em->block_start >> 9) != cb->orig_bio->bi_iter.bi_sector) { in add_ra_bio_pages()
537 ret = bio_add_page(cb->orig_bio, page, in add_ra_bio_pages()
572 struct compressed_bio *cb; in btrfs_submit_compressed_read() local
602 cb = kmalloc(compressed_bio_size(root, compressed_len), GFP_NOFS); in btrfs_submit_compressed_read()
603 if (!cb) in btrfs_submit_compressed_read()
606 atomic_set(&cb->pending_bios, 0); in btrfs_submit_compressed_read()
607 cb->errors = 0; in btrfs_submit_compressed_read()
608 cb->inode = inode; in btrfs_submit_compressed_read()
609 cb->mirror_num = mirror_num; in btrfs_submit_compressed_read()
610 sums = &cb->sums; in btrfs_submit_compressed_read()
612 cb->start = em->orig_start; in btrfs_submit_compressed_read()
619 cb->len = uncompressed_len; in btrfs_submit_compressed_read()
620 cb->compressed_len = compressed_len; in btrfs_submit_compressed_read()
621 cb->compress_type = extent_compress_type(bio_flags); in btrfs_submit_compressed_read()
622 cb->orig_bio = bio; in btrfs_submit_compressed_read()
625 cb->compressed_pages = kcalloc(nr_pages, sizeof(struct page *), in btrfs_submit_compressed_read()
627 if (!cb->compressed_pages) in btrfs_submit_compressed_read()
633 cb->compressed_pages[pg_index] = alloc_page(GFP_NOFS | in btrfs_submit_compressed_read()
635 if (!cb->compressed_pages[pg_index]) { in btrfs_submit_compressed_read()
642 cb->nr_pages = nr_pages; in btrfs_submit_compressed_read()
648 add_ra_bio_pages(inode, em_start + em_len, cb); in btrfs_submit_compressed_read()
652 cb->len = uncompressed_len; in btrfs_submit_compressed_read()
657 comp_bio->bi_private = cb; in btrfs_submit_compressed_read()
659 atomic_inc(&cb->pending_bios); in btrfs_submit_compressed_read()
662 page = cb->compressed_pages[pg_index]; in btrfs_submit_compressed_read()
688 atomic_inc(&cb->pending_bios); in btrfs_submit_compressed_read()
708 comp_bio->bi_private = cb; in btrfs_submit_compressed_read()
735 __free_page(cb->compressed_pages[faili]); in btrfs_submit_compressed_read()
739 kfree(cb->compressed_pages); in btrfs_submit_compressed_read()
741 kfree(cb); in btrfs_submit_compressed_read()