From: Jesper Juhl Decrease the number of pointer derefs in drivers/md/multipath.c Benefits of the patch: - Fewer pointer dereferences should make the code slightly faster. - Size of generated code is smaller - improved readability Signed-off-by: Jesper Juhl Acked-by: Ingo Molnar Cc: Alasdair G Kergon Signed-off-by: Andrew Morton --- drivers/md/multipath.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff -puN drivers/md/multipath.c~decrease-number-of-pointer-derefs-in-multipathc drivers/md/multipath.c --- devel/drivers/md/multipath.c~decrease-number-of-pointer-derefs-in-multipathc 2005-12-09 22:21:46.000000000 -0800 +++ devel-akpm/drivers/md/multipath.c 2005-12-09 22:21:46.000000000 -0800 @@ -303,6 +303,7 @@ static void print_multipath_conf (multip static int multipath_add_disk(mddev_t *mddev, mdk_rdev_t *rdev) { multipath_conf_t *conf = mddev->private; + struct request_queue *q; int found = 0; int path; struct multipath_info *p; @@ -311,8 +312,8 @@ static int multipath_add_disk(mddev_t *m for (path=0; pathraid_disks; path++) if ((p=conf->multipaths+path)->rdev == NULL) { - blk_queue_stack_limits(mddev->queue, - rdev->bdev->bd_disk->queue); + q = rdev->bdev->bd_disk->queue; + blk_queue_stack_limits(mddev->queue, q); /* as we don't honour merge_bvec_fn, we must never risk * violating it, so limit ->max_sector to one PAGE, as @@ -320,7 +321,7 @@ static int multipath_add_disk(mddev_t *m * (Note: it is very unlikely that a device with * merge_bvec_fn will be involved in multipath.) */ - if (rdev->bdev->bd_disk->queue->merge_bvec_fn && + if (q->merge_bvec_fn && mddev->queue->max_sectors > (PAGE_SIZE>>9)) blk_queue_max_sectors(mddev->queue, PAGE_SIZE>>9); _