return split;
}
-int bio_alloc_pages(struct bio *bio, gfp_t gfp_mask)
+void bio_free_pages(struct bio *bio)
{
+ struct bio_vec *bvec;
int i;
- struct bio_vec *bv;
-
- bio_for_each_segment_all(bv, bio, i) {
- bv->bv_page = alloc_page(gfp_mask);
- if (!bv->bv_page) {
- while (--bv >= bio->bi_io_vec)
- __free_page(bv->bv_page);
- return -ENOMEM;
- }
- }
- return 0;
+ bio_for_each_segment_all(bvec, bio, i)
+ __free_page(bvec->bv_page);
}
void bio_advance(struct bio *bio, unsigned bytes)