Lines Matching full:hb

232 static void hib_init_batch(struct hib_bio_batch *hb)  in hib_init_batch()  argument
234 atomic_set(&hb->count, 0); in hib_init_batch()
235 init_waitqueue_head(&hb->wait); in hib_init_batch()
236 hb->error = BLK_STS_OK; in hib_init_batch()
237 blk_start_plug(&hb->plug); in hib_init_batch()
240 static void hib_finish_batch(struct hib_bio_batch *hb) in hib_finish_batch() argument
242 blk_finish_plug(&hb->plug); in hib_finish_batch()
247 struct hib_bio_batch *hb = bio->bi_private; in hib_end_io() local
262 if (bio->bi_status && !hb->error) in hib_end_io()
263 hb->error = bio->bi_status; in hib_end_io()
264 if (atomic_dec_and_test(&hb->count)) in hib_end_io()
265 wake_up(&hb->wait); in hib_end_io()
271 struct hib_bio_batch *hb) in hib_submit_io() argument
288 if (hb) { in hib_submit_io()
290 bio->bi_private = hb; in hib_submit_io()
291 atomic_inc(&hb->count); in hib_submit_io()
301 static int hib_wait_io(struct hib_bio_batch *hb) in hib_wait_io() argument
307 wait_event(hb->wait, atomic_read(&hb->count) == 0); in hib_wait_io()
308 return blk_status_to_errno(hb->error); in hib_wait_io()
377 * @hb: bio completion batch
380 static int write_page(void *buf, sector_t offset, struct hib_bio_batch *hb) in write_page() argument
388 if (hb) { in write_page()
394 ret = hib_wait_io(hb); /* Free pages */ in write_page()
404 hb = NULL; /* Go synchronous */ in write_page()
411 return hib_submit_io(REQ_OP_WRITE | REQ_SYNC, offset, src, hb); in write_page()
453 struct hib_bio_batch *hb) in swap_write_page() argument
461 error = write_page(buf, offset, hb); in swap_write_page()
470 error = write_page(handle->cur, handle->cur_swap, hb); in swap_write_page()
477 if (hb && low_free_pages() <= handle->reqd_free_pages) { in swap_write_page()
478 error = hib_wait_io(hb); in swap_write_page()
555 struct hib_bio_batch hb; in save_image() local
559 hib_init_batch(&hb); in save_image()
572 ret = swap_write_page(handle, data_of(*snapshot), &hb); in save_image()
580 err2 = hib_wait_io(&hb); in save_image()
581 hib_finish_batch(&hb); in save_image()
700 struct hib_bio_batch hb; in save_compressed_image() local
709 hib_init_batch(&hb); in save_compressed_image()
870 ret = swap_write_page(handle, page, &hb); in save_compressed_image()
881 err2 = hib_wait_io(&hb); in save_compressed_image()
892 hib_finish_batch(&hb); in save_compressed_image()
1047 struct hib_bio_batch *hb) in swap_read_page() argument
1058 error = hib_submit_io(REQ_OP_READ, offset, buf, hb); in swap_read_page()
1096 struct hib_bio_batch hb; in load_image() local
1100 hib_init_batch(&hb); in load_image()
1113 ret = swap_read_page(handle, data_of(*snapshot), &hb); in load_image()
1117 ret = hib_wait_io(&hb); in load_image()
1125 err2 = hib_wait_io(&hb); in load_image()
1126 hib_finish_batch(&hb); in load_image()
1205 struct hib_bio_batch hb; in load_compressed_image() local
1218 hib_init_batch(&hb); in load_compressed_image()
1341 ret = swap_read_page(handle, page[ring], &hb); in load_compressed_image()
1368 ret = hib_wait_io(&hb); in load_compressed_image()
1422 ret = hib_wait_io(&hb); in load_compressed_image()
1498 hib_finish_batch(&hb); in load_compressed_image()