netfilter: ipset: Simplify mtype_expire() for hash types
Remove one leve of intendation by using continue while iterating over elements in bucket. Ported from a patch proposed by Sergey Popovich <popovich_sergei@mail.ua>. Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
This commit is contained in:
parent
5fdb5f6938
commit
509debc975
1 changed files with 12 additions and 13 deletions
|
@ -487,21 +487,20 @@ mtype_expire(struct ip_set *set, struct htype *h)
|
|||
continue;
|
||||
}
|
||||
data = ahash_data(n, j, dsize);
|
||||
if (ip_set_timeout_expired(ext_timeout(data, set))) {
|
||||
pr_debug("expired %u/%u\n", i, j);
|
||||
clear_bit(j, n->used);
|
||||
smp_mb__after_atomic();
|
||||
if (!ip_set_timeout_expired(ext_timeout(data, set)))
|
||||
continue;
|
||||
pr_debug("expired %u/%u\n", i, j);
|
||||
clear_bit(j, n->used);
|
||||
smp_mb__after_atomic();
|
||||
#ifdef IP_SET_HASH_WITH_NETS
|
||||
for (k = 0; k < IPSET_NET_COUNT; k++)
|
||||
mtype_del_cidr(h,
|
||||
NCIDR_PUT(DCIDR_GET(data->cidr,
|
||||
k)),
|
||||
nets_length, k);
|
||||
for (k = 0; k < IPSET_NET_COUNT; k++)
|
||||
mtype_del_cidr(h,
|
||||
NCIDR_PUT(DCIDR_GET(data->cidr, k)),
|
||||
nets_length, k);
|
||||
#endif
|
||||
ip_set_ext_destroy(set, data);
|
||||
set->elements--;
|
||||
d++;
|
||||
}
|
||||
ip_set_ext_destroy(set, data);
|
||||
set->elements--;
|
||||
d++;
|
||||
}
|
||||
if (d >= AHASH_INIT_SIZE) {
|
||||
if (d >= n->size) {
|
||||
|
|
Loading…
Reference in a new issue