From 371d1bbd6e7410ce0c8d9138568b194061e77729 Mon Sep 17 00:00:00 2001 From: Joe Thornber Date: Tue, 26 May 2020 09:24:15 +0100 Subject: [PATCH] [space-maps/recursive] fix bug in flush_ops() Decrements weren't being passed down properly. --- persistent-data/space-maps/recursive.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/persistent-data/space-maps/recursive.cc b/persistent-data/space-maps/recursive.cc index 634c530..46d6ed5 100644 --- a/persistent-data/space-maps/recursive.cc +++ b/persistent-data/space-maps/recursive.cc @@ -216,7 +216,10 @@ namespace { switch (op.op_) { case INC: - sm_->inc(b, op.rc_); + if (op.rc_ > 0) + sm_->inc(b, op.rc_); + else if (op.rc_ < 0) + sm_->dec(b, -op.rc_); break; case SET: