Lines Matching defs:bio
28 static void journal_read_endio(struct bio *bio)
30 struct closure *cl = bio->bi_private;
39 struct bio *bio = &ja->bio;
56 bio_reset(bio);
57 bio->bi_iter.bi_sector = bucket + offset;
58 bio_set_dev(bio, ca->bdev);
59 bio->bi_iter.bi_size = len << 9;
61 bio->bi_end_io = journal_read_endio;
62 bio->bi_private = &cl;
63 bio_set_op_attrs(bio, REQ_OP_READ, 0);
64 bch_bio_map(bio, data);
66 closure_bio_submit(ca->set, bio, &cl);
572 static void journal_discard_endio(struct bio *bio)
575 container_of(bio, struct journal_device, discard_bio);
595 struct bio *bio = &ja->discard_bio;
619 bio_init(bio, bio->bi_inline_vecs, 1);
620 bio_set_op_attrs(bio, REQ_OP_DISCARD, 0);
621 bio->bi_iter.bi_sector = bucket_to_sector(ca->set,
623 bio_set_dev(bio, ca->bdev);
624 bio->bi_iter.bi_size = bucket_bytes(ca);
625 bio->bi_end_io = journal_discard_endio;
721 static void journal_write_endio(struct bio *bio)
723 struct journal_write *w = bio->bi_private;
725 cache_set_err_on(bio->bi_status, w->c, "journal io error");
761 struct bio *bio;
793 bio = &ca->journal.bio;
797 bio_reset(bio);
798 bio->bi_iter.bi_sector = PTR_OFFSET(k, i);
799 bio_set_dev(bio, ca->bdev);
800 bio->bi_iter.bi_size = sectors << 9;
802 bio->bi_end_io = journal_write_endio;
803 bio->bi_private = w;
804 bio_set_op_attrs(bio, REQ_OP_WRITE,
806 bch_bio_map(bio, w->data);
808 trace_bcache_journal_write(bio, w->data->keys);
809 bio_list_add(&list, bio);
825 while ((bio = bio_list_pop(&list)))
826 closure_bio_submit(c, bio, cl);