sml: fix glitch in "Optimize freebehind (transient) memory usage"

Ref 5c2a682a

If the checkpoint segment is the stevedore_priv, it has already been removed
from the segment list, see sml_trimstore()
parent d7540e54
......@@ -396,9 +396,10 @@ sml_iterator(struct worker *wrk, struct objcore *oc,
sl += st->len;
st = VTAILQ_PREV(st, storagehead, list);
if (final && checkpoint != NULL) {
VTAILQ_REMOVE(&obj->list, checkpoint, list);
if (checkpoint == boc->stevedore_priv)
boc->stevedore_priv = trim_once;
else
VTAILQ_REMOVE(&obj->list, checkpoint, list);
sml_stv_free(stv, checkpoint);
}
checkpoint = st;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment