Lines Matching refs:bio
33 static int copy_bio_to_actor(struct bio *bio, in copy_bio_to_actor() argument
46 if (WARN_ON_ONCE(!bio_next_segment(bio, &iter_all))) in copy_bio_to_actor()
70 if (!bio_next_segment(bio, &iter_all)) in copy_bio_to_actor()
80 struct bio **biop, int *block_offset) in squashfs_bio_read()
91 struct bio *bio; in squashfs_bio_read() local
93 bio = bio_kmalloc(page_count, GFP_NOIO); in squashfs_bio_read()
94 if (!bio) in squashfs_bio_read()
96 bio_init(bio, sb->s_bdev, bio->bi_inline_vecs, page_count, REQ_OP_READ); in squashfs_bio_read()
97 bio->bi_iter.bi_sector = block * (msblk->devblksize >> SECTOR_SHIFT); in squashfs_bio_read()
108 if (!bio_add_page(bio, page, len, offset)) { in squashfs_bio_read()
116 error = submit_bio_wait(bio); in squashfs_bio_read()
120 *biop = bio; in squashfs_bio_read()
125 bio_free_pages(bio); in squashfs_bio_read()
126 bio_uninit(bio); in squashfs_bio_read()
127 kfree(bio); in squashfs_bio_read()
144 struct bio *bio = NULL; in squashfs_read_data() local
169 res = squashfs_bio_read(sb, index, 2, &bio, &offset); in squashfs_read_data()
173 if (WARN_ON_ONCE(!bio_next_segment(bio, &iter_all))) { in squashfs_read_data()
183 if (WARN_ON_ONCE(!bio_next_segment(bio, &iter_all))) { in squashfs_read_data()
190 bio_free_pages(bio); in squashfs_read_data()
191 bio_uninit(bio); in squashfs_read_data()
192 kfree(bio); in squashfs_read_data()
210 res = squashfs_bio_read(sb, index, length, &bio, &offset); in squashfs_read_data()
219 res = squashfs_decompress(msblk, bio, offset, length, output); in squashfs_read_data()
221 res = copy_bio_to_actor(bio, output, offset, length); in squashfs_read_data()
225 bio_free_pages(bio); in squashfs_read_data()
226 bio_uninit(bio); in squashfs_read_data()
227 kfree(bio); in squashfs_read_data()