Lines Matching refs:raid_bio
5396 static int raid5_read_one_chunk(struct mddev *mddev, struct bio *raid_bio) in raid5_read_one_chunk() argument
5406 if (!in_chunk_boundary(mddev, raid_bio)) { in raid5_read_one_chunk()
5411 sector = raid5_compute_sector(conf, raid_bio->bi_iter.bi_sector, 0, in raid5_read_one_chunk()
5413 end_sector = bio_end_sector(raid_bio); in raid5_read_one_chunk()
5434 if (is_badblock(rdev, sector, bio_sectors(raid_bio), &first_bad, in raid5_read_one_chunk()
5436 bio_put(raid_bio); in raid5_read_one_chunk()
5441 align_bio = bio_clone_fast(raid_bio, GFP_NOIO, &mddev->io_acct_set); in raid5_read_one_chunk()
5443 raid_bio->bi_next = (void *)rdev; in raid5_read_one_chunk()
5444 if (blk_queue_io_stat(raid_bio->bi_bdev->bd_disk->queue)) in raid5_read_one_chunk()
5445 md_io_acct->start_time = bio_start_io_acct(raid_bio); in raid5_read_one_chunk()
5446 md_io_acct->orig_bio = raid_bio; in raid5_read_one_chunk()
5477 raid_bio->bi_iter.bi_sector); in raid5_read_one_chunk()
5486 static struct bio *chunk_aligned_read(struct mddev *mddev, struct bio *raid_bio) in chunk_aligned_read() argument
5489 sector_t sector = raid_bio->bi_iter.bi_sector; in chunk_aligned_read()
5493 if (sectors < bio_sectors(raid_bio)) { in chunk_aligned_read()
5495 split = bio_split(raid_bio, sectors, GFP_NOIO, &conf->bio_split); in chunk_aligned_read()
5496 bio_chain(split, raid_bio); in chunk_aligned_read()
5497 submit_bio_noacct(raid_bio); in chunk_aligned_read()
5498 raid_bio = split; in chunk_aligned_read()
5501 if (!raid5_read_one_chunk(mddev, raid_bio)) in chunk_aligned_read()
5502 return raid_bio; in chunk_aligned_read()
6308 static int retry_aligned_read(struct r5conf *conf, struct bio *raid_bio, in retry_aligned_read() argument
6327 logical_sector = raid_bio->bi_iter.bi_sector & in retry_aligned_read()
6331 last_sector = bio_end_sector(raid_bio); in retry_aligned_read()
6346 conf->retry_read_aligned = raid_bio; in retry_aligned_read()
6351 if (!add_stripe_bio(sh, raid_bio, dd_idx, 0, 0)) { in retry_aligned_read()
6353 conf->retry_read_aligned = raid_bio; in retry_aligned_read()
6364 bio_endio(raid_bio); in retry_aligned_read()