Lines Matching defs:bio

20 #include <linux/bio.h>
62 struct bio *parent);
527 unsigned long entry, struct bio *parent)
529 struct bio *bio;
531 bio = bio_alloc(zram->bdev, 1, parent->bi_opf, GFP_NOIO);
532 bio->bi_iter.bi_sector = entry * (PAGE_SIZE >> 9);
533 __bio_add_page(bio, page, PAGE_SIZE, 0);
534 bio_chain(bio, parent);
535 submit_bio(bio);
548 struct bio bio;
635 bio_init(&bio, zram->bdev, &bio_vec, 1,
637 bio.bi_iter.bi_sector = blk_idx * (PAGE_SIZE >> 9);
638 __bio_add_page(&bio, page, PAGE_SIZE, 0);
644 err = submit_bio_wait(&bio);
715 struct bio bio;
717 bio_init(&bio, zw->zram->bdev, &bv, 1, REQ_OP_READ);
718 bio.bi_iter.bi_sector = zw->entry * (PAGE_SIZE >> 9);
719 __bio_add_page(&bio, zw->page, PAGE_SIZE, 0);
720 zw->error = submit_bio_wait(&bio);
746 unsigned long entry, struct bio *parent)
760 unsigned long entry, struct bio *parent)
1364 struct bio *parent)
1398 /* Should NEVER happen. Return bio error if it does. */
1425 u32 index, int offset, struct bio *bio)
1429 return zram_read_page(zram, bvec->bv_page, index, bio);
1564 u32 index, int offset, struct bio *bio)
1572 ret = zram_read_page(zram, page, index, bio);
1582 u32 index, int offset, struct bio *bio)
1585 return zram_bvec_write_partial(zram, bvec, index, offset, bio);
1857 static void zram_bio_discard(struct zram *zram, struct bio *bio)
1859 size_t n = bio->bi_iter.bi_size;
1860 u32 index = bio->bi_iter.bi_sector >> SECTORS_PER_PAGE_SHIFT;
1861 u32 offset = (bio->bi_iter.bi_sector & (SECTORS_PER_PAGE - 1)) <<
1891 bio_endio(bio);
1894 static void zram_bio_read(struct zram *zram, struct bio *bio)
1896 unsigned long start_time = bio_start_io_acct(bio);
1897 struct bvec_iter iter = bio->bi_iter;
1903 struct bio_vec bv = bio_iter_iovec(bio, iter);
1907 if (zram_bvec_read(zram, &bv, index, offset, bio) < 0) {
1909 bio->bi_status = BLK_STS_IOERR;
1918 bio_advance_iter_single(bio, &iter, bv.bv_len);
1921 bio_end_io_acct(bio, start_time);
1922 bio_endio(bio);
1925 static void zram_bio_write(struct zram *zram, struct bio *bio)
1927 unsigned long start_time = bio_start_io_acct(bio);
1928 struct bvec_iter iter = bio->bi_iter;
1934 struct bio_vec bv = bio_iter_iovec(bio, iter);
1938 if (zram_bvec_write(zram, &bv, index, offset, bio) < 0) {
1940 bio->bi_status = BLK_STS_IOERR;
1948 bio_advance_iter_single(bio, &iter, bv.bv_len);
1951 bio_end_io_acct(bio, start_time);
1952 bio_endio(bio);
1958 static void zram_submit_bio(struct bio *bio)
1960 struct zram *zram = bio->bi_bdev->bd_disk->private_data;
1962 switch (bio_op(bio)) {
1964 zram_bio_read(zram, bio);
1967 zram_bio_write(zram, bio);
1971 zram_bio_discard(zram, bio);
1975 bio_endio(bio);