Lines Matching refs:bio
27 static struct bio *get_swap_bio(gfp_t gfp_flags, in get_swap_bio()
30 struct bio *bio; in get_swap_bio() local
32 bio = bio_alloc(gfp_flags, 1); in get_swap_bio()
33 if (bio) { in get_swap_bio()
34 bio->bi_iter.bi_sector = map_swap_page(page, &bio->bi_bdev); in get_swap_bio()
35 bio->bi_iter.bi_sector <<= PAGE_SHIFT - 9; in get_swap_bio()
36 bio->bi_end_io = end_io; in get_swap_bio()
38 bio_add_page(bio, page, PAGE_SIZE, 0); in get_swap_bio()
39 BUG_ON(bio->bi_iter.bi_size != PAGE_SIZE); in get_swap_bio()
41 return bio; in get_swap_bio()
44 void end_swap_bio_write(struct bio *bio) in end_swap_bio_write() argument
46 struct page *page = bio->bi_io_vec[0].bv_page; in end_swap_bio_write()
48 if (bio->bi_error) { in end_swap_bio_write()
60 imajor(bio->bi_bdev->bd_inode), in end_swap_bio_write()
61 iminor(bio->bi_bdev->bd_inode), in end_swap_bio_write()
62 (unsigned long long)bio->bi_iter.bi_sector); in end_swap_bio_write()
66 bio_put(bio); in end_swap_bio_write()
69 static void end_swap_bio_read(struct bio *bio) in end_swap_bio_read() argument
71 struct page *page = bio->bi_io_vec[0].bv_page; in end_swap_bio_read()
73 if (bio->bi_error) { in end_swap_bio_read()
77 imajor(bio->bi_bdev->bd_inode), in end_swap_bio_read()
78 iminor(bio->bi_bdev->bd_inode), in end_swap_bio_read()
79 (unsigned long long)bio->bi_iter.bi_sector); in end_swap_bio_read()
129 bio_put(bio); in end_swap_bio_read()
255 struct bio *bio; in __swap_writepage() local
307 bio = get_swap_bio(GFP_NOIO, page, end_write_func); in __swap_writepage()
308 if (bio == NULL) { in __swap_writepage()
319 submit_bio(rw, bio); in __swap_writepage()
326 struct bio *bio; in swap_readpage() local
355 bio = get_swap_bio(GFP_KERNEL, page, end_swap_bio_read); in swap_readpage()
356 if (bio == NULL) { in swap_readpage()
362 submit_bio(READ, bio); in swap_readpage()