Commit
41ebcc0907c5 ("crush: remove forcefeed functionality") from
May 7, 2012 (linux-next), leads to the following Smatch static
checker warning:
net/ceph/crush/mapper.c:1015 crush_do_rule()
warn: iterator 'j' not incremented
Before commit
41ebcc0907c5 ("crush: remove forcefeed functionality"),
we had this logic:
j = 0;
if (osize == 0 && force_pos >= 0) {
o[osize] = force_context[force_pos];
if (recurse_to_leaf)
c[osize] = force_context[0];
j++; /* <-- this was the only increment, now gone */
force_pos--;
}
/* then crush_choose_*(..., o+osize, j, ...) */
Now, the variable j is dead code — a variable that is set
and never meaningfully varied. This patch simply removes
the dead code.
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Viacheslav Dubeyko <Slava.Dubeyko@ibm.com>
Reviewed-by: Alex Markuze <amarkuze@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
int osize;
const struct crush_rule *rule;
__u32 step;
- int i, j;
+ int i;
int numrep;
int out_size;
/*
if (numrep <= 0)
continue;
}
- j = 0;
/* make sure bucket id is valid */
bno = -1 - w[i];
if (bno < 0 || bno >= map->max_buckets) {
weight, weight_max,
x, numrep,
curstep->arg2,
- o+osize, j,
+ o+osize, 0,
result_max-osize,
choose_tries,
recurse_tries,
weight, weight_max,
x, out_size, numrep,
curstep->arg2,
- o+osize, j,
+ o+osize, 0,
choose_tries,
choose_leaf_tries ?
choose_leaf_tries : 1,