Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752012AbbEYHDY (ORCPT ); Mon, 25 May 2015 03:03:24 -0400 Received: from mail.kernel.org ([198.145.29.136]:40226 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751189AbbEYHDX (ORCPT ); Mon, 25 May 2015 03:03:23 -0400 MIME-Version: 1.0 In-Reply-To: <20150525154829.4330f149@notabene.brown> References: <1432318723-18829-1-git-send-email-mlin@kernel.org> <1432318723-18829-7-git-send-email-mlin@kernel.org> <20150525154829.4330f149@notabene.brown> Date: Mon, 25 May 2015 00:03:20 -0700 Message-ID: Subject: Re: [PATCH v4 06/11] md/raid5: get rid of bio_fits_rdev() From: Ming Lin To: NeilBrown Cc: lkml , Christoph Hellwig , Kent Overstreet , Jens Axboe , Dongsu Park , linux-raid@vger.kernel.org Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3284 Lines: 96 On Sun, May 24, 2015 at 10:48 PM, NeilBrown wrote: > On Fri, 22 May 2015 11:18:38 -0700 Ming Lin wrote: > >> From: Kent Overstreet >> >> Remove bio_fits_rdev() completely, because ->merge_bvec_fn() has now >> gone. There's no point in calling bio_fits_rdev() only for ensuring >> aligned read from rdev. > > Surely this patch should come *before* > [PATCH v4 07/11] md/raid5: split bio for chunk_aligned_read PATCH 6, then PATCH 7, isn't it already *before*? > > and the comment says ->merge_bvec_fn() has gone, but that isn't until > [PATCH v4 08/11] block: kill merge_bvec_fn() completely > > > If those issues are resolved, then How about this? PATCH 6: md/raid5: split bio for chunk_aligned_read PATCH 7: block: kill merge_bvec_fn() completely PATCH 8: md/raid5: get rid of bio_fits_rdev() Thanks. > > Acked-by: NeilBrown > > Thanks, > NeilBrown > > >> >> Cc: Neil Brown >> Cc: linux-raid@vger.kernel.org >> Signed-off-by: Kent Overstreet >> [dpark: add more description in commit message] >> Signed-off-by: Dongsu Park >> Signed-off-by: Ming Lin >> --- >> drivers/md/raid5.c | 23 +---------------------- >> 1 file changed, 1 insertion(+), 22 deletions(-) >> >> diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c >> index 1ba97fd..b303ded 100644 >> --- a/drivers/md/raid5.c >> +++ b/drivers/md/raid5.c >> @@ -4743,25 +4743,6 @@ static void raid5_align_endio(struct bio *bi, int error) >> add_bio_to_retry(raid_bi, conf); >> } >> >> -static int bio_fits_rdev(struct bio *bi) >> -{ >> - struct request_queue *q = bdev_get_queue(bi->bi_bdev); >> - >> - if (bio_sectors(bi) > queue_max_sectors(q)) >> - return 0; >> - blk_recount_segments(q, bi); >> - if (bi->bi_phys_segments > queue_max_segments(q)) >> - return 0; >> - >> - if (q->merge_bvec_fn) >> - /* it's too hard to apply the merge_bvec_fn at this stage, >> - * just just give up >> - */ >> - return 0; >> - >> - return 1; >> -} >> - >> static int chunk_aligned_read(struct mddev *mddev, struct bio * raid_bio) >> { >> struct r5conf *conf = mddev->private; >> @@ -4815,11 +4796,9 @@ static int chunk_aligned_read(struct mddev *mddev, struct bio * raid_bio) >> align_bi->bi_bdev = rdev->bdev; >> __clear_bit(BIO_SEG_VALID, &align_bi->bi_flags); >> >> - if (!bio_fits_rdev(align_bi) || >> - is_badblock(rdev, align_bi->bi_iter.bi_sector, >> + if (is_badblock(rdev, align_bi->bi_iter.bi_sector, >> bio_sectors(align_bi), >> &first_bad, &bad_sectors)) { >> - /* too big in some way, or has a known bad block */ >> bio_put(align_bi); >> rdev_dec_pending(rdev, mddev); >> return 0; > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/