Fix a bug with unstable_big over unstable_small
This commit is contained in:
@@ -1572,6 +1572,7 @@ int blockstore_heap_t::post_stabilize(object_id oid, uint64_t version, uint32_t
|
||||
wr->type() == BS_HEAP_TOMBSTONE))
|
||||
{
|
||||
unstable_big_wr = wr;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1613,6 +1614,7 @@ int blockstore_heap_t::post_stabilize(object_id oid, uint64_t version, uint32_t
|
||||
push_inflight_lsn(oid, wr->lsn, wr->needs_compact(this) ? HEAP_INFLIGHT_COMPACTABLE : 0);
|
||||
}
|
||||
}
|
||||
assert(last_lsn == next_lsn-stab_count);
|
||||
obj->crc32c = obj->calc_crc32c();
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ int blockstore_impl_t::dequeue_stable(blockstore_op_t *op)
|
||||
}
|
||||
if (new_lsn)
|
||||
{
|
||||
assert(priv->lsn == 0 || priv->to_lsn == new_lsn-1);
|
||||
if (!priv->lsn)
|
||||
priv->lsn = new_lsn;
|
||||
priv->to_lsn = op->opcode == BS_OP_STABLE ? new_to_lsn : new_lsn;
|
||||
|
||||
Reference in New Issue
Block a user