diff options
Diffstat (limited to 'fs/btrfs/ulist.c')
-rw-r--r-- | fs/btrfs/ulist.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/btrfs/ulist.c b/fs/btrfs/ulist.c index b0a523b2c60e..35f5de9dd498 100644 --- a/fs/btrfs/ulist.c +++ b/fs/btrfs/ulist.c | |||
@@ -207,9 +207,6 @@ int ulist_add_merge(struct ulist *ulist, u64 val, u64 aux, | |||
207 | void *old = NULL; | 207 | void *old = NULL; |
208 | int i; | 208 | int i; |
209 | 209 | ||
210 | for (i = 0; i < ulist->nnodes; i++) | ||
211 | rb_erase(&ulist->nodes[i].rb_node, &ulist->root); | ||
212 | |||
213 | /* | 210 | /* |
214 | * if nodes_alloced == ULIST_SIZE no memory has been allocated | 211 | * if nodes_alloced == ULIST_SIZE no memory has been allocated |
215 | * yet, so pass NULL to krealloc | 212 | * yet, so pass NULL to krealloc |
@@ -234,6 +231,7 @@ int ulist_add_merge(struct ulist *ulist, u64 val, u64 aux, | |||
234 | * pointers, so we have to do it ourselves. Otherwise we may | 231 | * pointers, so we have to do it ourselves. Otherwise we may |
235 | * be bitten by crashes. | 232 | * be bitten by crashes. |
236 | */ | 233 | */ |
234 | ulist->root = RB_ROOT; | ||
237 | for (i = 0; i < ulist->nnodes; i++) { | 235 | for (i = 0; i < ulist->nnodes; i++) { |
238 | ret = ulist_rbtree_insert(ulist, &ulist->nodes[i]); | 236 | ret = ulist_rbtree_insert(ulist, &ulist->nodes[i]); |
239 | if (ret < 0) | 237 | if (ret < 0) |