block/elevator.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
While 'if (i < 0) ... else if (i >= 0) ...' is technically equivalent to
'if (i < 0) ... else ...', the latter is vastly easier to read because
it avoids writing out a condition that is unnecessary. Let's drop such
unnecessary conditions.
Signed-off-by: Liao Yuanhong <liaoyuanhong@vivo.com>
---
block/elevator.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/block/elevator.c b/block/elevator.c
index fe96c6f4753c..3828c35f5753 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -240,7 +240,7 @@ void elv_rb_add(struct rb_root *root, struct request *rq)
if (blk_rq_pos(rq) < blk_rq_pos(__rq))
p = &(*p)->rb_left;
- else if (blk_rq_pos(rq) >= blk_rq_pos(__rq))
+ else
p = &(*p)->rb_right;
}
--
2.34.1
…
> it avoids writing out a condition that is unnecessary. Let's drop such
Thus?
> unnecessary conditions.
an unnecessary condition?
Would a summary phrase like “Avoid redundant condition in elv_rb_add()”
be nicer?
…
> +++ b/block/elevator.c
> @@ -240,7 +240,7 @@ void elv_rb_add(struct rb_root *root, struct request *rq)
>
> if (blk_rq_pos(rq) < blk_rq_pos(__rq))
> p = &(*p)->rb_left;
> - else if (blk_rq_pos(rq) >= blk_rq_pos(__rq))
> + else
> p = &(*p)->rb_right;
Would you dare to apply a conditional expression here?
p = (blk_rq_pos(rq) < blk_rq_pos(__rq)) ? &(*p)->rb_left : &(*p)->rb_right;
Regards,
Markus
On 9/4/25 3:05 PM, Markus Elfring wrote: > … >> it avoids writing out a condition that is unnecessary. Let's drop such > > Thus? > > >> unnecessary conditions. > > an unnecessary condition? > > > Would a summary phrase like “Avoid redundant condition in elv_rb_add()” > be nicer? > > > … >> +++ b/block/elevator.c >> @@ -240,7 +240,7 @@ void elv_rb_add(struct rb_root *root, struct request *rq) >> >> if (blk_rq_pos(rq) < blk_rq_pos(__rq)) >> p = &(*p)->rb_left; >> - else if (blk_rq_pos(rq) >= blk_rq_pos(__rq)) >> + else >> p = &(*p)->rb_right; > > > Would you dare to apply a conditional expression here? > > p = (blk_rq_pos(rq) < blk_rq_pos(__rq)) ? &(*p)->rb_left : &(*p)->rb_right; This is far less readable. > > > Regards, > Markus -- Damien Le Moal Western Digital Research
On 9/3/25 9:14 PM, Liao Yuanhong wrote: > While 'if (i < 0) ... else if (i >= 0) ...' is technically equivalent to > 'if (i < 0) ... else ...', the latter is vastly easier to read because > it avoids writing out a condition that is unnecessary. Let's drop such > unnecessary conditions. > > Signed-off-by: Liao Yuanhong <liaoyuanhong@vivo.com> Reviewed-by: Damien Le Moal <dlemoal@kernel.org> -- Damien Le Moal Western Digital Research
© 2016 - 2026 Red Hat, Inc.