diff options
Diffstat (limited to 'net/ipv4/fib_trie.c')
-rw-r--r-- | net/ipv4/fib_trie.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c index 0179d245c81f..95a62aae5f48 100644 --- a/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c | |||
@@ -153,7 +153,6 @@ struct trie { | |||
153 | struct trie_use_stats stats; | 153 | struct trie_use_stats stats; |
154 | #endif | 154 | #endif |
155 | int size; | 155 | int size; |
156 | unsigned int revision; | ||
157 | }; | 156 | }; |
158 | 157 | ||
159 | static void put_child(struct trie *t, struct tnode *tn, int i, struct node *n); | 158 | static void put_child(struct trie *t, struct tnode *tn, int i, struct node *n); |
@@ -1046,7 +1045,7 @@ fib_insert_node(struct trie *t, int *err, u32 key, int plen) | |||
1046 | 1045 | ||
1047 | if (!li) { | 1046 | if (!li) { |
1048 | *err = -ENOMEM; | 1047 | *err = -ENOMEM; |
1049 | goto err; | 1048 | goto done; |
1050 | } | 1049 | } |
1051 | 1050 | ||
1052 | fa_head = &li->falh; | 1051 | fa_head = &li->falh; |
@@ -1058,7 +1057,7 @@ fib_insert_node(struct trie *t, int *err, u32 key, int plen) | |||
1058 | 1057 | ||
1059 | if (!l) { | 1058 | if (!l) { |
1060 | *err = -ENOMEM; | 1059 | *err = -ENOMEM; |
1061 | goto err; | 1060 | goto done; |
1062 | } | 1061 | } |
1063 | 1062 | ||
1064 | l->key = key; | 1063 | l->key = key; |
@@ -1067,7 +1066,7 @@ fib_insert_node(struct trie *t, int *err, u32 key, int plen) | |||
1067 | if (!li) { | 1066 | if (!li) { |
1068 | tnode_free((struct tnode *) l); | 1067 | tnode_free((struct tnode *) l); |
1069 | *err = -ENOMEM; | 1068 | *err = -ENOMEM; |
1070 | goto err; | 1069 | goto done; |
1071 | } | 1070 | } |
1072 | 1071 | ||
1073 | fa_head = &li->falh; | 1072 | fa_head = &li->falh; |
@@ -1104,7 +1103,7 @@ fib_insert_node(struct trie *t, int *err, u32 key, int plen) | |||
1104 | free_leaf_info(li); | 1103 | free_leaf_info(li); |
1105 | tnode_free((struct tnode *) l); | 1104 | tnode_free((struct tnode *) l); |
1106 | *err = -ENOMEM; | 1105 | *err = -ENOMEM; |
1107 | goto err; | 1106 | goto done; |
1108 | } | 1107 | } |
1109 | 1108 | ||
1110 | node_set_parent((struct node *)tn, tp); | 1109 | node_set_parent((struct node *)tn, tp); |
@@ -1130,8 +1129,6 @@ fib_insert_node(struct trie *t, int *err, u32 key, int plen) | |||
1130 | 1129 | ||
1131 | rcu_assign_pointer(t->trie, trie_rebalance(t, tp)); | 1130 | rcu_assign_pointer(t->trie, trie_rebalance(t, tp)); |
1132 | done: | 1131 | done: |
1133 | t->revision++; | ||
1134 | err: | ||
1135 | return fa_head; | 1132 | return fa_head; |
1136 | } | 1133 | } |
1137 | 1134 | ||
@@ -1546,7 +1543,6 @@ static int trie_leaf_remove(struct trie *t, t_key key) | |||
1546 | * Remove the leaf and rebalance the tree | 1543 | * Remove the leaf and rebalance the tree |
1547 | */ | 1544 | */ |
1548 | 1545 | ||
1549 | t->revision++; | ||
1550 | t->size--; | 1546 | t->size--; |
1551 | 1547 | ||
1552 | tp = node_parent(n); | 1548 | tp = node_parent(n); |
@@ -1752,8 +1748,6 @@ static int fn_trie_flush(struct fib_table *tb) | |||
1752 | struct leaf *ll = NULL, *l = NULL; | 1748 | struct leaf *ll = NULL, *l = NULL; |
1753 | int found = 0, h; | 1749 | int found = 0, h; |
1754 | 1750 | ||
1755 | t->revision++; | ||
1756 | |||
1757 | for (h = 0; (l = nextleaf(t, l)) != NULL; h++) { | 1751 | for (h = 0; (l = nextleaf(t, l)) != NULL; h++) { |
1758 | found += trie_flush_leaf(t, l); | 1752 | found += trie_flush_leaf(t, l); |
1759 | 1753 | ||