Lines Matching refs:io
107 struct dirty_io *io = w->private; in dirty_init() local
108 struct bio *bio = &io->bio; in dirty_init()
111 if (!io->dc->writeback_percent) in dirty_init()
123 struct dirty_io *io = container_of(cl, struct dirty_io, cl); in dirty_io_destructor() local
124 kfree(io); in dirty_io_destructor()
129 struct dirty_io *io = container_of(cl, struct dirty_io, cl); in write_dirty_finish() local
130 struct keybuf_key *w = io->bio.bi_private; in write_dirty_finish()
131 struct cached_dev *dc = io->dc; in write_dirty_finish()
135 bio_for_each_segment_all(bv, &io->bio, i) in write_dirty_finish()
172 struct dirty_io *io = w->private; in dirty_endio() local
177 closure_put(&io->cl); in dirty_endio()
182 struct dirty_io *io = container_of(cl, struct dirty_io, cl); in write_dirty() local
183 struct keybuf_key *w = io->bio.bi_private; in write_dirty()
186 io->bio.bi_rw = WRITE; in write_dirty()
187 io->bio.bi_iter.bi_sector = KEY_START(&w->key); in write_dirty()
188 io->bio.bi_bdev = io->dc->bdev; in write_dirty()
189 io->bio.bi_end_io = dirty_endio; in write_dirty()
191 closure_bio_submit(&io->bio, cl, &io->dc->disk); in write_dirty()
199 struct dirty_io *io = w->private; in read_dirty_endio() local
201 bch_count_io_errors(PTR_CACHE(io->dc->disk.c, &w->key, 0), in read_dirty_endio()
209 struct dirty_io *io = container_of(cl, struct dirty_io, cl); in read_dirty_submit() local
211 closure_bio_submit(&io->bio, cl, &io->dc->disk); in read_dirty_submit()
220 struct dirty_io *io; in read_dirty() local
246 io = kzalloc(sizeof(struct dirty_io) + sizeof(struct bio_vec) in read_dirty()
249 if (!io) in read_dirty()
252 w->private = io; in read_dirty()
253 io->dc = dc; in read_dirty()
256 io->bio.bi_iter.bi_sector = PTR_OFFSET(&w->key, 0); in read_dirty()
257 io->bio.bi_bdev = PTR_CACHE(dc->disk.c, in read_dirty()
259 io->bio.bi_rw = READ; in read_dirty()
260 io->bio.bi_end_io = read_dirty_endio; in read_dirty()
262 if (bio_alloc_pages(&io->bio, GFP_KERNEL)) in read_dirty()
268 closure_call(&io->cl, read_dirty_submit, NULL, &cl); in read_dirty()