This don't fix anything but just make function raid10_mergeable_bvec look a bit nicer. Minro note: this make 3 lines exceed 80 a bit(81). Signed-off-by: Yuanhan Liu <yuanhan.liu@xxxxxxxxxxxxxxx> --- drivers/md/raid10.c | 74 ++++++++++++++++++++++++-------------------------- 1 files changed, 36 insertions(+), 38 deletions(-) diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index 987db37..83d0e65 100644 --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c @@ -626,6 +626,8 @@ static int raid10_mergeable_bvec(struct request_queue *q, unsigned int chunk_sectors; unsigned int bio_sectors = bvm->bi_size >> 9; struct geom *geo = &conf->geo; + struct r10bio r10_bio; + int s; chunk_sectors = (conf->geo.chunk_mask & conf->prev.chunk_mask) + 1; if (conf->reshape_progress != MaxSector && @@ -644,48 +646,44 @@ static int raid10_mergeable_bvec(struct request_queue *q, } else max = biovec->bv_len; - if (mddev->merge_check_needed) { - struct r10bio r10_bio; - int s; - if (conf->reshape_progress != MaxSector) { - /* Cannot give any guidance during reshape */ - if (max <= biovec->bv_len && bio_sectors == 0) - return biovec->bv_len; - return 0; - } - r10_bio.sector = sector; - raid10_find_phys(conf, &r10_bio); - rcu_read_lock(); - for (s = 0; s < conf->copies; s++) { - int disk = r10_bio.devs[s].devnum; - struct md_rdev *rdev = rcu_dereference( - conf->mirrors[disk].rdev); - if (rdev && !test_bit(Faulty, &rdev->flags)) { - struct request_queue *q = - bdev_get_queue(rdev->bdev); - if (q->merge_bvec_fn) { - bvm->bi_sector = r10_bio.devs[s].addr - + rdev->data_offset; - bvm->bi_bdev = rdev->bdev; - max = min(max, q->merge_bvec_fn( - q, bvm, biovec)); - } + if (!mddev->merge_check_needed) + return max; + + if (conf->reshape_progress != MaxSector) { + /* Cannot give any guidance during reshape */ + if (max <= biovec->bv_len && bio_sectors == 0) + return biovec->bv_len; + return 0; + } + + r10_bio.sector = sector; + raid10_find_phys(conf, &r10_bio); + rcu_read_lock(); + for (s = 0; s < conf->copies; s++) { + int disk = r10_bio.devs[s].devnum; + struct md_rdev *rdev = rcu_dereference(conf->mirrors[disk].rdev); + if (rdev && !test_bit(Faulty, &rdev->flags)) { + struct request_queue *q = bdev_get_queue(rdev->bdev); + if (q->merge_bvec_fn) { + bvm->bi_sector = r10_bio.devs[s].addr + + rdev->data_offset; + bvm->bi_bdev = rdev->bdev; + max = min(max, q->merge_bvec_fn(q, bvm, biovec)); } - rdev = rcu_dereference(conf->mirrors[disk].replacement); - if (rdev && !test_bit(Faulty, &rdev->flags)) { - struct request_queue *q = - bdev_get_queue(rdev->bdev); - if (q->merge_bvec_fn) { - bvm->bi_sector = r10_bio.devs[s].addr - + rdev->data_offset; - bvm->bi_bdev = rdev->bdev; - max = min(max, q->merge_bvec_fn( - q, bvm, biovec)); - } + } + rdev = rcu_dereference(conf->mirrors[disk].replacement); + if (rdev && !test_bit(Faulty, &rdev->flags)) { + struct request_queue *q = bdev_get_queue(rdev->bdev); + if (q->merge_bvec_fn) { + bvm->bi_sector = r10_bio.devs[s].addr + + rdev->data_offset; + bvm->bi_bdev = rdev->bdev; + max = min(max, q->merge_bvec_fn(q, bvm, biovec)); } } - rcu_read_unlock(); } + rcu_read_unlock(); + return max; } -- 1.7.7.6 -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html