Loading drivers/md/md-linear.c +3 −12 Original line number Diff line number Diff line Loading @@ -256,21 +256,12 @@ static bool linear_make_request(struct mddev *mddev, struct bio *bio) if (unlikely(bio_end_sector(bio) > end_sector)) { /* This bio crosses a device boundary, so we have to split it */ struct bio *split = bio_split(bio, end_sector - bio_sector, GFP_NOIO, &mddev->bio_set); if (IS_ERR(split)) { bio->bi_status = errno_to_blk_status(PTR_ERR(split)); bio_endio(bio); bio = bio_submit_split_bioset(bio, end_sector - bio_sector, &mddev->bio_set); if (!bio) return true; } bio_chain(split, bio); trace_block_split(split, bio->bi_iter.bi_sector); submit_bio_noacct(bio); bio = split; } md_account_bio(mddev, &bio); bio_set_dev(bio, tmp_dev->rdev->bdev); bio->bi_iter.bi_sector = bio->bi_iter.bi_sector - Loading Loading
drivers/md/md-linear.c +3 −12 Original line number Diff line number Diff line Loading @@ -256,21 +256,12 @@ static bool linear_make_request(struct mddev *mddev, struct bio *bio) if (unlikely(bio_end_sector(bio) > end_sector)) { /* This bio crosses a device boundary, so we have to split it */ struct bio *split = bio_split(bio, end_sector - bio_sector, GFP_NOIO, &mddev->bio_set); if (IS_ERR(split)) { bio->bi_status = errno_to_blk_status(PTR_ERR(split)); bio_endio(bio); bio = bio_submit_split_bioset(bio, end_sector - bio_sector, &mddev->bio_set); if (!bio) return true; } bio_chain(split, bio); trace_block_split(split, bio->bi_iter.bi_sector); submit_bio_noacct(bio); bio = split; } md_account_bio(mddev, &bio); bio_set_dev(bio, tmp_dev->rdev->bdev); bio->bi_iter.bi_sector = bio->bi_iter.bi_sector - Loading