Lines Matching refs:bio
29 struct page *page, struct bio **bio_chain) in submit()
32 struct bio *bio; in submit() local
34 bio = bio_alloc(__GFP_WAIT | __GFP_HIGH, 1); in submit()
35 bio->bi_iter.bi_sector = sector; in submit()
36 bio->bi_bdev = bdev; in submit()
37 bio->bi_end_io = end_swap_bio_read; in submit()
39 if (bio_add_page(bio, page, PAGE_SIZE, 0) < PAGE_SIZE) { in submit()
42 bio_put(bio); in submit()
47 bio_get(bio); in submit()
50 submit_bio(bio_rw, bio); in submit()
53 bio_set_pages_dirty(bio); in submit()
54 bio_put(bio); in submit()
58 bio->bi_private = *bio_chain; in submit()
59 *bio_chain = bio; in submit()
60 submit_bio(bio_rw, bio); in submit()
65 int hib_bio_read_page(pgoff_t page_off, void *addr, struct bio **bio_chain) in hib_bio_read_page()
71 int hib_bio_write_page(pgoff_t page_off, void *addr, struct bio **bio_chain) in hib_bio_write_page()
77 int hib_wait_on_bio_chain(struct bio **bio_chain) in hib_wait_on_bio_chain()
79 struct bio *bio; in hib_wait_on_bio_chain() local
80 struct bio *next_bio; in hib_wait_on_bio_chain()
86 bio = *bio_chain; in hib_wait_on_bio_chain()
87 if (bio == NULL) in hib_wait_on_bio_chain()
89 while (bio) { in hib_wait_on_bio_chain()
92 next_bio = bio->bi_private; in hib_wait_on_bio_chain()
93 page = bio->bi_io_vec[0].bv_page; in hib_wait_on_bio_chain()
98 bio_put(bio); in hib_wait_on_bio_chain()
99 bio = next_bio; in hib_wait_on_bio_chain()