Lines Matching defs:bvec
63 static int zram_bvec_read(struct zram *zram, struct bio_vec *bvec,
95 static inline bool is_partial_io(struct bio_vec *bvec)
97 return bvec->bv_len != PAGE_SIZE;
100 static inline bool is_partial_io(struct bio_vec *bvec)
130 static void update_position(u32 *index, int *offset, struct bio_vec *bvec)
132 *index += (*offset + bvec->bv_len) / PAGE_SIZE;
133 *offset = (*offset + bvec->bv_len) % PAGE_SIZE;
541 static int read_from_bdev_async(struct zram *zram, struct bio_vec *bvec,
552 if (!bio_add_page(bio, bvec->bv_page, bvec->bv_len, bvec->bv_offset)) {
610 struct bio_vec bvec;
612 bvec.bv_page = page;
613 bvec.bv_len = PAGE_SIZE;
614 bvec.bv_offset = 0;
655 if (zram_bvec_read(zram, &bvec, index, 0, NULL)) {
668 bio_add_page(&bio, bvec.bv_page, bvec.bv_len,
669 bvec.bv_offset);
734 struct bio_vec bvec;
745 read_from_bdev_async(zram, &zw->bvec, entry, bio);
753 static int read_from_bdev_sync(struct zram *zram, struct bio_vec *bvec,
758 work.bvec = *bvec;
771 static int read_from_bdev_sync(struct zram *zram, struct bio_vec *bvec,
779 static int read_from_bdev(struct zram *zram, struct bio_vec *bvec,
784 return read_from_bdev_sync(zram, bvec, entry, parent);
786 return read_from_bdev_async(zram, bvec, entry, parent);
790 static int read_from_bdev(struct zram *zram, struct bio_vec *bvec,
1250 struct bio_vec bvec;
1254 bvec.bv_page = page;
1255 bvec.bv_len = PAGE_SIZE;
1256 bvec.bv_offset = 0;
1257 return read_from_bdev(zram, &bvec,
1315 static int zram_bvec_read(struct zram *zram, struct bio_vec *bvec,
1321 page = bvec->bv_page;
1322 if (is_partial_io(bvec)) {
1329 ret = __zram_bvec_read(zram, page, index, bio, is_partial_io(bvec));
1333 if (is_partial_io(bvec)) {
1334 void *dst = kmap_atomic(bvec->bv_page);
1337 memcpy(dst + bvec->bv_offset, src + offset, bvec->bv_len);
1342 if (is_partial_io(bvec))
1348 static int __zram_bvec_write(struct zram *zram, struct bio_vec *bvec,
1357 struct page *page = bvec->bv_page;
1467 static int zram_bvec_write(struct zram *zram, struct bio_vec *bvec,
1475 vec = *bvec;
1476 if (is_partial_io(bvec)) {
1490 src = kmap_atomic(bvec->bv_page);
1492 memcpy(dst + offset, src + bvec->bv_offset, bvec->bv_len);
1503 if (is_partial_io(bvec))
1551 static int zram_bvec_rw(struct zram *zram, struct bio_vec *bvec, u32 index,
1558 ret = zram_bvec_read(zram, bvec, index, offset, bio);
1559 flush_dcache_page(bvec->bv_page);
1562 ret = zram_bvec_write(zram, bvec, index, offset, bio);
1583 struct bio_vec bvec;
1602 bio_for_each_segment(bvec, bio, iter) {
1603 struct bio_vec bv = bvec;
1604 unsigned int unwritten = bvec.bv_len;