Hi Sam,
TL;DR:
When there no new entry, what is the rationale for merge_old_entry to remove
the object from missing only if the tail is eversion_t() and the object
prior_version is also eversion_t() ?
https://github.com/dachary/ceph/blob/f58299db098d5f18c817b516fa6ffaa76245e57d/src/osd/PGLog.cc
In all three cases, we know the authoritative log does not contain an
entry for oe.soid, therefore:
If oe.prior_version > log.tail, we must already have processed an
earlier entry for that object resulting in the object being correctly
marked missing (or not) (specifically, the entry for
oe.prior_
Hi Sam,
Thanks for the explanation. I misread the third case, my description was
incorrect. I amended https://github.com/ceph/ceph/pull/340 accordingly.
Cheers
On 06/03/2013 10:28 PM, Samuel Just wrote:
> In all three cases, we know the authoritative log does not contain an
> entry for oe.soid,