Lines Matching refs:bio

29 void end_swap_bio_write(struct bio *bio)  in end_swap_bio_write()  argument
31 struct page *page = bio_first_page_all(bio); in end_swap_bio_write()
33 if (bio->bi_status) { in end_swap_bio_write()
45 MAJOR(bio_dev(bio)), MINOR(bio_dev(bio)), in end_swap_bio_write()
46 (unsigned long long)bio->bi_iter.bi_sector); in end_swap_bio_write()
50 bio_put(bio); in end_swap_bio_write()
101 static void end_swap_bio_read(struct bio *bio) in end_swap_bio_read() argument
103 struct page *page = bio_first_page_all(bio); in end_swap_bio_read()
104 struct task_struct *waiter = bio->bi_private; in end_swap_bio_read()
106 if (bio->bi_status) { in end_swap_bio_read()
110 MAJOR(bio_dev(bio)), MINOR(bio_dev(bio)), in end_swap_bio_read()
111 (unsigned long long)bio->bi_iter.bi_sector); in end_swap_bio_read()
119 WRITE_ONCE(bio->bi_private, NULL); in end_swap_bio_read()
120 bio_put(bio); in end_swap_bio_read()
267 static void bio_associate_blkg_from_page(struct bio *bio, struct page *page) in bio_associate_blkg_from_page() argument
278 bio_associate_blkg_from_css(bio, css); in bio_associate_blkg_from_page()
282 #define bio_associate_blkg_from_page(bio, page) do { } while (0) argument
288 struct bio *bio; in __swap_writepage() local
340 bio = bio_alloc(GFP_NOIO, 1); in __swap_writepage()
341 bio_set_dev(bio, sis->bdev); in __swap_writepage()
342 bio->bi_iter.bi_sector = swap_page_sector(page); in __swap_writepage()
343 bio->bi_opf = REQ_OP_WRITE | REQ_SWAP | wbc_to_write_flags(wbc); in __swap_writepage()
344 bio->bi_end_io = end_write_func; in __swap_writepage()
345 bio_add_page(bio, page, thp_size(page), 0); in __swap_writepage()
347 bio_associate_blkg_from_page(bio, page); in __swap_writepage()
351 submit_bio(bio); in __swap_writepage()
358 struct bio *bio; in swap_readpage() local
404 bio = bio_alloc(GFP_KERNEL, 1); in swap_readpage()
405 bio_set_dev(bio, sis->bdev); in swap_readpage()
406 bio->bi_opf = REQ_OP_READ; in swap_readpage()
407 bio->bi_iter.bi_sector = swap_page_sector(page); in swap_readpage()
408 bio->bi_end_io = end_swap_bio_read; in swap_readpage()
409 bio_add_page(bio, page, thp_size(page), 0); in swap_readpage()
415 bio->bi_opf |= REQ_POLLED; in swap_readpage()
417 bio->bi_private = current; in swap_readpage()
420 bio_get(bio); in swap_readpage()
421 submit_bio(bio); in swap_readpage()
424 if (!READ_ONCE(bio->bi_private)) in swap_readpage()
427 if (!bio_poll(bio, NULL, 0)) in swap_readpage()
431 bio_put(bio); in swap_readpage()