Lines Matching defs:bio

67  * a bio containing the header page and partial parity pages (sh->ppl_page) for
152 /* inline bio and its biovec for submitting the iounit */
153 struct bio bio;
253 bio_init(&io->bio, log->rdev->bdev, io->biovec, PPL_IO_INLINE_BVECS,
398 static void ppl_log_endio(struct bio *bio)
400 struct ppl_io_unit *io = bio->bi_private;
407 if (bio->bi_status)
418 static void ppl_submit_iounit_bio(struct ppl_io_unit *io, struct bio *bio)
421 __func__, io->seq, bio->bi_iter.bi_size,
422 (unsigned long long)bio->bi_iter.bi_sector,
423 bio->bi_bdev);
425 submit_bio(bio);
433 struct bio *bio = &io->bio;
437 bio->bi_private = io;
440 ppl_log_endio(bio);
466 bio->bi_end_io = ppl_log_endio;
467 bio->bi_iter.bi_sector = log->next_io_sector;
468 __bio_add_page(bio, io->header_page, PAGE_SIZE, 0);
492 if (!bio_add_page(bio, sh->ppl_page, PAGE_SIZE, 0)) {
493 struct bio *prev = bio;
495 bio = bio_alloc_bioset(prev->bi_bdev, BIO_MAX_VECS,
498 bio->bi_iter.bi_sector = bio_end_sector(prev);
499 __bio_add_page(bio, sh->ppl_page, PAGE_SIZE, 0);
501 bio_chain(bio, prev);
506 ppl_submit_iounit_bio(io, bio);
581 static void ppl_flush_endio(struct bio *bio)
583 struct ppl_io_unit *io = bio->bi_private;
588 pr_debug("%s: dev: %pg\n", __func__, bio->bi_bdev);
590 if (bio->bi_status) {
594 rdev = md_find_rdev_rcu(conf->mddev, bio_dev(bio));
600 bio_put(bio);
630 struct bio *bio;
632 bio = bio_alloc_bioset(bdev, 0,
635 bio->bi_private = io;
636 bio->bi_end_io = ppl_flush_endio;
638 pr_debug("%s: dev: %ps\n", __func__, bio->bi_bdev);
640 submit_bio(bio);
682 int ppl_handle_flush_request(struct bio *bio)
684 if (bio->bi_iter.bi_size == 0) {
685 bio_endio(bio);
688 bio->bi_opf &= ~REQ_PREFLUSH;