提交 352d768b 编写于 作者: J Jesper Juhl 提交者: Linus Torvalds

[PATCH] Decrease number of pointer derefs in multipath.c

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: NJesper Juhl <jesper.juhl@gmail.com>
Acked-by: NIngo Molnar <mingo@elte.hu>
Cc: Alasdair G Kergon <agk@redhat.com>
Acked-by: NNeilBrown <neilb@suse.de>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 3795e161
...@@ -303,6 +303,7 @@ static void print_multipath_conf (multipath_conf_t *conf) ...@@ -303,6 +303,7 @@ static void print_multipath_conf (multipath_conf_t *conf)
static int multipath_add_disk(mddev_t *mddev, mdk_rdev_t *rdev) static int multipath_add_disk(mddev_t *mddev, mdk_rdev_t *rdev)
{ {
multipath_conf_t *conf = mddev->private; multipath_conf_t *conf = mddev->private;
struct request_queue *q;
int found = 0; int found = 0;
int path; int path;
struct multipath_info *p; struct multipath_info *p;
...@@ -311,8 +312,8 @@ static int multipath_add_disk(mddev_t *mddev, mdk_rdev_t *rdev) ...@@ -311,8 +312,8 @@ static int multipath_add_disk(mddev_t *mddev, mdk_rdev_t *rdev)
for (path=0; path<mddev->raid_disks; path++) for (path=0; path<mddev->raid_disks; path++)
if ((p=conf->multipaths+path)->rdev == NULL) { if ((p=conf->multipaths+path)->rdev == NULL) {
blk_queue_stack_limits(mddev->queue, q = rdev->bdev->bd_disk->queue;
rdev->bdev->bd_disk->queue); blk_queue_stack_limits(mddev->queue, q);
/* as we don't honour merge_bvec_fn, we must never risk /* as we don't honour merge_bvec_fn, we must never risk
* violating it, so limit ->max_sector to one PAGE, as * violating it, so limit ->max_sector to one PAGE, as
...@@ -320,7 +321,7 @@ static int multipath_add_disk(mddev_t *mddev, mdk_rdev_t *rdev) ...@@ -320,7 +321,7 @@ static int multipath_add_disk(mddev_t *mddev, mdk_rdev_t *rdev)
* (Note: it is very unlikely that a device with * (Note: it is very unlikely that a device with
* merge_bvec_fn will be involved in multipath.) * 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)) mddev->queue->max_sectors > (PAGE_SIZE>>9))
blk_queue_max_sectors(mddev->queue, PAGE_SIZE>>9); blk_queue_max_sectors(mddev->queue, PAGE_SIZE>>9);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册