Lines Matching refs:bio

33 static int copy_bio_to_actor(struct bio *bio,  in copy_bio_to_actor()  argument
43 if (WARN_ON_ONCE(!bio_next_segment(bio, &iter_all))) in copy_bio_to_actor()
67 if (!bio_next_segment(bio, &iter_all)) in copy_bio_to_actor()
77 struct bio **biop, int *block_offset) in squashfs_bio_read()
88 struct bio *bio; in squashfs_bio_read() local
91 bio = bio_alloc(GFP_NOIO, page_count); in squashfs_bio_read()
93 bio = bio_kmalloc(GFP_NOIO, page_count); in squashfs_bio_read()
95 if (!bio) in squashfs_bio_read()
98 bio_set_dev(bio, sb->s_bdev); in squashfs_bio_read()
99 bio->bi_opf = READ; in squashfs_bio_read()
100 bio->bi_iter.bi_sector = block * (msblk->devblksize >> SECTOR_SHIFT); in squashfs_bio_read()
111 if (!bio_add_page(bio, page, len, offset)) { in squashfs_bio_read()
119 error = submit_bio_wait(bio); in squashfs_bio_read()
123 *biop = bio; in squashfs_bio_read()
128 bio_free_pages(bio); in squashfs_bio_read()
129 bio_put(bio); in squashfs_bio_read()
146 struct bio *bio = NULL; in squashfs_read_data() local
171 res = squashfs_bio_read(sb, index, 2, &bio, &offset); in squashfs_read_data()
175 if (WARN_ON_ONCE(!bio_next_segment(bio, &iter_all))) { in squashfs_read_data()
185 if (WARN_ON_ONCE(!bio_next_segment(bio, &iter_all))) { in squashfs_read_data()
192 bio_free_pages(bio); in squashfs_read_data()
193 bio_put(bio); in squashfs_read_data()
205 res = squashfs_bio_read(sb, index, length, &bio, &offset); in squashfs_read_data()
214 res = squashfs_decompress(msblk, bio, offset, length, output); in squashfs_read_data()
216 res = copy_bio_to_actor(bio, output, offset, length); in squashfs_read_data()
220 bio_free_pages(bio); in squashfs_read_data()
221 bio_put(bio); in squashfs_read_data()