Lines Matching full:hb
233 static void hib_init_batch(struct hib_bio_batch *hb) in hib_init_batch() argument
235 atomic_set(&hb->count, 0); in hib_init_batch()
236 init_waitqueue_head(&hb->wait); in hib_init_batch()
237 hb->error = BLK_STS_OK; in hib_init_batch()
238 blk_start_plug(&hb->plug); in hib_init_batch()
241 static void hib_finish_batch(struct hib_bio_batch *hb) in hib_finish_batch() argument
243 blk_finish_plug(&hb->plug); in hib_finish_batch()
248 struct hib_bio_batch *hb = bio->bi_private; in hib_end_io() local
263 if (bio->bi_status && !hb->error) in hib_end_io()
264 hb->error = bio->bi_status; in hib_end_io()
265 if (atomic_dec_and_test(&hb->count)) in hib_end_io()
266 wake_up(&hb->wait); in hib_end_io()
272 struct hib_bio_batch *hb) in hib_submit_io() argument
289 if (hb) { in hib_submit_io()
291 bio->bi_private = hb; in hib_submit_io()
292 atomic_inc(&hb->count); in hib_submit_io()
302 static int hib_wait_io(struct hib_bio_batch *hb) in hib_wait_io() argument
308 wait_event(hb->wait, atomic_read(&hb->count) == 0); in hib_wait_io()
309 return blk_status_to_errno(hb->error); in hib_wait_io()
378 * @hb: bio completion batch
381 static int write_page(void *buf, sector_t offset, struct hib_bio_batch *hb) in write_page() argument
389 if (hb) { in write_page()
395 ret = hib_wait_io(hb); /* Free pages */ in write_page()
405 hb = NULL; /* Go synchronous */ in write_page()
412 return hib_submit_io(REQ_OP_WRITE | REQ_SYNC, offset, src, hb); in write_page()
454 struct hib_bio_batch *hb) in swap_write_page() argument
462 error = write_page(buf, offset, hb); in swap_write_page()
471 error = write_page(handle->cur, handle->cur_swap, hb); in swap_write_page()
478 if (hb && low_free_pages() <= handle->reqd_free_pages) { in swap_write_page()
479 error = hib_wait_io(hb); in swap_write_page()
556 struct hib_bio_batch hb; in save_image() local
560 hib_init_batch(&hb); in save_image()
573 ret = swap_write_page(handle, data_of(*snapshot), &hb); in save_image()
581 err2 = hib_wait_io(&hb); in save_image()
582 hib_finish_batch(&hb); in save_image()
703 struct hib_bio_batch hb; in save_compressed_image() local
712 hib_init_batch(&hb); in save_compressed_image()
880 ret = swap_write_page(handle, page, &hb); in save_compressed_image()
891 err2 = hib_wait_io(&hb); in save_compressed_image()
902 hib_finish_batch(&hb); in save_compressed_image()
1057 struct hib_bio_batch *hb) in swap_read_page() argument
1068 error = hib_submit_io(REQ_OP_READ, offset, buf, hb); in swap_read_page()
1106 struct hib_bio_batch hb; in load_image() local
1110 hib_init_batch(&hb); in load_image()
1123 ret = swap_read_page(handle, data_of(*snapshot), &hb); in load_image()
1127 ret = hib_wait_io(&hb); in load_image()
1135 err2 = hib_wait_io(&hb); in load_image()
1136 hib_finish_batch(&hb); in load_image()
1218 struct hib_bio_batch hb; in load_compressed_image() local
1231 hib_init_batch(&hb); in load_compressed_image()
1361 ret = swap_read_page(handle, page[ring], &hb); in load_compressed_image()
1388 ret = hib_wait_io(&hb); in load_compressed_image()
1442 ret = hib_wait_io(&hb); in load_compressed_image()
1518 hib_finish_batch(&hb); in load_compressed_image()