[btr] Split btr_del_node() into two functions.
[paraslash.git] / compress_filter.c
index b17549c3a24b51d74e96c9caa63a30851e4e0094..7c392746c5c1e02bc03408876e8af65f1a8118da 100644 (file)
@@ -103,11 +103,12 @@ static void compress_post_select(__a_unused struct sched *s, struct task *t)
        //inplace = false;
 next_buffer:
        t->error = 0;
-       ret = prepare_filter_node(fn);
+       ret = btr_node_status(btrn, fn->min_iqs);
        if (ret < 0)
                goto err;
        if (ret == 0)
                return;
+       btr_merge(btrn, fn->min_iqs);
        length = btr_next_buffer(btrn, &inbuf) & ~(size_t)1;
        ip = (int16_t *)inbuf;
        if (inplace)
@@ -149,9 +150,8 @@ next_buffer:
        goto next_buffer;
 err:
        assert(ret < 0);
-       close_compress(fn);
        t->error = ret;
-       btr_del_node(btrn);
+       btr_remove_node(btrn);
 }
 
 /** TODO: Add sanity checks */