Lines Matching refs:raid_bio

5446 static int raid5_read_one_chunk(struct mddev *mddev, struct bio *raid_bio)  in raid5_read_one_chunk()  argument
5455 if (!in_chunk_boundary(mddev, raid_bio)) { in raid5_read_one_chunk()
5460 sector = raid5_compute_sector(conf, raid_bio->bi_iter.bi_sector, 0, in raid5_read_one_chunk()
5462 end_sector = sector + bio_sectors(raid_bio); in raid5_read_one_chunk()
5481 if (rdev_has_badblock(rdev, sector, bio_sectors(raid_bio))) { in raid5_read_one_chunk()
5486 md_account_bio(mddev, &raid_bio); in raid5_read_one_chunk()
5487 raid_bio->bi_next = (void *)rdev; in raid5_read_one_chunk()
5489 align_bio = bio_alloc_clone(rdev->bdev, raid_bio, GFP_NOIO, in raid5_read_one_chunk()
5492 align_bio->bi_private = raid_bio; in raid5_read_one_chunk()
5517 mddev_trace_remap(mddev, align_bio, raid_bio->bi_iter.bi_sector); in raid5_read_one_chunk()
5522 static struct bio *chunk_aligned_read(struct mddev *mddev, struct bio *raid_bio) in chunk_aligned_read() argument
5525 sector_t sector = raid_bio->bi_iter.bi_sector; in chunk_aligned_read()
5529 if (sectors < bio_sectors(raid_bio)) { in chunk_aligned_read()
5531 split = bio_split(raid_bio, sectors, GFP_NOIO, &conf->bio_split); in chunk_aligned_read()
5532 bio_chain(split, raid_bio); in chunk_aligned_read()
5533 submit_bio_noacct(raid_bio); in chunk_aligned_read()
5534 raid_bio = split; in chunk_aligned_read()
5537 if (!raid5_read_one_chunk(mddev, raid_bio)) in chunk_aligned_read()
5538 return raid_bio; in chunk_aligned_read()
6581 static int retry_aligned_read(struct r5conf *conf, struct bio *raid_bio, in retry_aligned_read() argument
6600 logical_sector = raid_bio->bi_iter.bi_sector & in retry_aligned_read()
6604 last_sector = bio_end_sector(raid_bio); in retry_aligned_read()
6619 conf->retry_read_aligned = raid_bio; in retry_aligned_read()
6624 if (!add_stripe_bio(sh, raid_bio, dd_idx, 0, 0)) { in retry_aligned_read()
6626 conf->retry_read_aligned = raid_bio; in retry_aligned_read()
6637 bio_endio(raid_bio); in retry_aligned_read()