Lines Matching refs:per_dev

305 void _ore_add_sg_seg(struct ore_per_dev_state *per_dev, unsigned cur_len,  in _ore_add_sg_seg()  argument
312 per_dev->dev, cur_len, not_last, per_dev->cur_sg, in _ore_add_sg_seg()
313 _LLU(per_dev->offset), per_dev->length, in _ore_add_sg_seg()
314 per_dev->last_sgs_total); in _ore_add_sg_seg()
316 if (!per_dev->cur_sg) { in _ore_add_sg_seg()
317 sge = per_dev->sglist; in _ore_add_sg_seg()
320 if (per_dev->length) { in _ore_add_sg_seg()
321 ++per_dev->cur_sg; in _ore_add_sg_seg()
322 sge->offset = per_dev->offset; in _ore_add_sg_seg()
323 sge->len = per_dev->length; in _ore_add_sg_seg()
330 per_dev->offset += cur_len; in _ore_add_sg_seg()
335 sge = &per_dev->sglist[per_dev->cur_sg - 1]; in _ore_add_sg_seg()
336 sge->len = per_dev->length - per_dev->last_sgs_total; in _ore_add_sg_seg()
343 ++per_dev->cur_sg; in _ore_add_sg_seg()
346 per_dev->last_sgs_total = per_dev->length; in _ore_add_sg_seg()
350 --per_dev->cur_sg; in _ore_add_sg_seg()
376 struct ore_per_dev_state *per_dev; in _add_to_r4w() local
393 per_dev = &read_ios->per_dev[comp]; in _add_to_r4w()
394 if (!per_dev->length) { in _add_to_r4w()
395 per_dev->bio = bio_kmalloc(GFP_KERNEL, in _add_to_r4w()
397 if (unlikely(!per_dev->bio)) { in _add_to_r4w()
402 per_dev->offset = si->obj_offset; in _add_to_r4w()
403 per_dev->dev = si->dev; in _add_to_r4w()
404 } else if (si->obj_offset != (per_dev->offset + per_dev->length)) { in _add_to_r4w()
405 u64 gap = si->obj_offset - (per_dev->offset + per_dev->length); in _add_to_r4w()
407 _ore_add_sg_seg(per_dev, gap, true); in _add_to_r4w()
409 q = osd_request_queue(ore_comp_dev(read_ios->oc, per_dev->dev)); in _add_to_r4w()
410 added_len = bio_add_pc_page(q, per_dev->bio, page, pg_len, in _add_to_r4w()
414 per_dev->bio->bi_vcnt); in _add_to_r4w()
418 per_dev->length += pg_len; in _add_to_r4w()
470 struct bio *bio = ios->per_dev[d].bio; in _mark_read4write_pages_uptodate()
661 struct ore_per_dev_state *per_dev, in _ore_add_parity_unit() argument
665 if (per_dev->cur_sg >= ios->sgs_per_dev) { in _ore_add_parity_unit()
667 per_dev->cur_sg, ios->sgs_per_dev); in _ore_add_parity_unit()
670 _ore_add_sg_seg(per_dev, cur_len, true); in _ore_add_parity_unit()
682 if (!per_dev->length) { in _ore_add_parity_unit()
683 per_dev->offset += si->cur_pg * PAGE_SIZE; in _ore_add_parity_unit()
707 per_dev, num_pages * PAGE_SIZE); in _ore_add_parity_unit()
752 kfree(ios->per_dev[0].sglist); in _ore_free_raid_stuff()