Lines Matching refs:bio
19 struct bio bio; in sync_request() local
22 bio_init(&bio); in sync_request()
23 bio.bi_max_vecs = 1; in sync_request()
24 bio.bi_io_vec = &bio_vec; in sync_request()
28 bio.bi_vcnt = 1; in sync_request()
29 bio.bi_bdev = bdev; in sync_request()
30 bio.bi_iter.bi_sector = page->index * (PAGE_SIZE >> 9); in sync_request()
31 bio.bi_iter.bi_size = PAGE_SIZE; in sync_request()
33 return submit_bio_wait(rw, &bio); in sync_request()
56 static void writeseg_end_io(struct bio *bio) in writeseg_end_io() argument
60 struct super_block *sb = bio->bi_private; in writeseg_end_io()
63 BUG_ON(bio->bi_error); /* FIXME: Retry io or write elsewhere */ in writeseg_end_io()
65 bio_for_each_segment_all(bvec, bio, i) { in writeseg_end_io()
69 bio_put(bio); in writeseg_end_io()
79 struct bio *bio; in __bdev_writeseg() local
86 bio = bio_alloc(GFP_NOFS, max_pages); in __bdev_writeseg()
87 BUG_ON(!bio); in __bdev_writeseg()
92 bio->bi_vcnt = i; in __bdev_writeseg()
93 bio->bi_iter.bi_size = i * PAGE_SIZE; in __bdev_writeseg()
94 bio->bi_bdev = super->s_bdev; in __bdev_writeseg()
95 bio->bi_iter.bi_sector = ofs >> 9; in __bdev_writeseg()
96 bio->bi_private = sb; in __bdev_writeseg()
97 bio->bi_end_io = writeseg_end_io; in __bdev_writeseg()
99 submit_bio(WRITE, bio); in __bdev_writeseg()
106 bio = bio_alloc(GFP_NOFS, max_pages); in __bdev_writeseg()
107 BUG_ON(!bio); in __bdev_writeseg()
111 bio->bi_io_vec[i].bv_page = page; in __bdev_writeseg()
112 bio->bi_io_vec[i].bv_len = PAGE_SIZE; in __bdev_writeseg()
113 bio->bi_io_vec[i].bv_offset = 0; in __bdev_writeseg()
119 bio->bi_vcnt = nr_pages; in __bdev_writeseg()
120 bio->bi_iter.bi_size = nr_pages * PAGE_SIZE; in __bdev_writeseg()
121 bio->bi_bdev = super->s_bdev; in __bdev_writeseg()
122 bio->bi_iter.bi_sector = ofs >> 9; in __bdev_writeseg()
123 bio->bi_private = sb; in __bdev_writeseg()
124 bio->bi_end_io = writeseg_end_io; in __bdev_writeseg()
126 submit_bio(WRITE, bio); in __bdev_writeseg()
154 static void erase_end_io(struct bio *bio) in erase_end_io() argument
156 struct super_block *sb = bio->bi_private; in erase_end_io()
159 BUG_ON(bio->bi_error); /* FIXME: Retry io or write elsewhere */ in erase_end_io()
160 BUG_ON(bio->bi_vcnt == 0); in erase_end_io()
161 bio_put(bio); in erase_end_io()
170 struct bio *bio; in do_erase() local
176 bio = bio_alloc(GFP_NOFS, max_pages); in do_erase()
177 BUG_ON(!bio); in do_erase()
182 bio->bi_vcnt = i; in do_erase()
183 bio->bi_iter.bi_size = i * PAGE_SIZE; in do_erase()
184 bio->bi_bdev = super->s_bdev; in do_erase()
185 bio->bi_iter.bi_sector = ofs >> 9; in do_erase()
186 bio->bi_private = sb; in do_erase()
187 bio->bi_end_io = erase_end_io; in do_erase()
189 submit_bio(WRITE, bio); in do_erase()
196 bio = bio_alloc(GFP_NOFS, max_pages); in do_erase()
197 BUG_ON(!bio); in do_erase()
199 bio->bi_io_vec[i].bv_page = super->s_erase_page; in do_erase()
200 bio->bi_io_vec[i].bv_len = PAGE_SIZE; in do_erase()
201 bio->bi_io_vec[i].bv_offset = 0; in do_erase()
203 bio->bi_vcnt = nr_pages; in do_erase()
204 bio->bi_iter.bi_size = nr_pages * PAGE_SIZE; in do_erase()
205 bio->bi_bdev = super->s_bdev; in do_erase()
206 bio->bi_iter.bi_sector = ofs >> 9; in do_erase()
207 bio->bi_private = sb; in do_erase()
208 bio->bi_end_io = erase_end_io; in do_erase()
210 submit_bio(WRITE, bio); in do_erase()