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, int err) in writeseg_end_io() argument
58 const int uptodate = test_bit(BIO_UPTODATE, &bio->bi_flags); in writeseg_end_io()
61 struct super_block *sb = bio->bi_private; in writeseg_end_io()
67 bio_for_each_segment_all(bvec, bio, i) { in writeseg_end_io()
71 bio_put(bio); in writeseg_end_io()
81 struct bio *bio; in __bdev_writeseg() local
88 bio = bio_alloc(GFP_NOFS, max_pages); in __bdev_writeseg()
89 BUG_ON(!bio); in __bdev_writeseg()
94 bio->bi_vcnt = i; in __bdev_writeseg()
95 bio->bi_iter.bi_size = i * PAGE_SIZE; in __bdev_writeseg()
96 bio->bi_bdev = super->s_bdev; in __bdev_writeseg()
97 bio->bi_iter.bi_sector = ofs >> 9; in __bdev_writeseg()
98 bio->bi_private = sb; in __bdev_writeseg()
99 bio->bi_end_io = writeseg_end_io; in __bdev_writeseg()
101 submit_bio(WRITE, bio); in __bdev_writeseg()
108 bio = bio_alloc(GFP_NOFS, max_pages); in __bdev_writeseg()
109 BUG_ON(!bio); in __bdev_writeseg()
113 bio->bi_io_vec[i].bv_page = page; in __bdev_writeseg()
114 bio->bi_io_vec[i].bv_len = PAGE_SIZE; in __bdev_writeseg()
115 bio->bi_io_vec[i].bv_offset = 0; in __bdev_writeseg()
121 bio->bi_vcnt = nr_pages; in __bdev_writeseg()
122 bio->bi_iter.bi_size = nr_pages * PAGE_SIZE; in __bdev_writeseg()
123 bio->bi_bdev = super->s_bdev; in __bdev_writeseg()
124 bio->bi_iter.bi_sector = ofs >> 9; in __bdev_writeseg()
125 bio->bi_private = sb; in __bdev_writeseg()
126 bio->bi_end_io = writeseg_end_io; in __bdev_writeseg()
128 submit_bio(WRITE, bio); in __bdev_writeseg()
156 static void erase_end_io(struct bio *bio, int err) in erase_end_io() argument
158 const int uptodate = test_bit(BIO_UPTODATE, &bio->bi_flags); in erase_end_io()
159 struct super_block *sb = bio->bi_private; in erase_end_io()
164 BUG_ON(bio->bi_vcnt == 0); in erase_end_io()
165 bio_put(bio); in erase_end_io()
174 struct bio *bio; in do_erase() local
180 bio = bio_alloc(GFP_NOFS, max_pages); in do_erase()
181 BUG_ON(!bio); in do_erase()
186 bio->bi_vcnt = i; in do_erase()
187 bio->bi_iter.bi_size = i * PAGE_SIZE; in do_erase()
188 bio->bi_bdev = super->s_bdev; in do_erase()
189 bio->bi_iter.bi_sector = ofs >> 9; in do_erase()
190 bio->bi_private = sb; in do_erase()
191 bio->bi_end_io = erase_end_io; in do_erase()
193 submit_bio(WRITE, bio); in do_erase()
200 bio = bio_alloc(GFP_NOFS, max_pages); in do_erase()
201 BUG_ON(!bio); in do_erase()
203 bio->bi_io_vec[i].bv_page = super->s_erase_page; in do_erase()
204 bio->bi_io_vec[i].bv_len = PAGE_SIZE; in do_erase()
205 bio->bi_io_vec[i].bv_offset = 0; in do_erase()
207 bio->bi_vcnt = nr_pages; in do_erase()
208 bio->bi_iter.bi_size = nr_pages * PAGE_SIZE; in do_erase()
209 bio->bi_bdev = super->s_bdev; in do_erase()
210 bio->bi_iter.bi_sector = ofs >> 9; in do_erase()
211 bio->bi_private = sb; in do_erase()
212 bio->bi_end_io = erase_end_io; in do_erase()
214 submit_bio(WRITE, bio); in do_erase()