osd: Optimized EC invalid pwlc for shards doing backfill/async
Shards performing backfill or async recovery receive log entries
(but not transactions) for updates to missing/yet to be backfilled
objects. These log entries get applied and completed immediately
because there is nothing that can be rolled back. This causes
pwlc to advance too early and causes problems if other shards
do not complete the update and end up rolling it backwards.
This fix sets pwlc to be invalid when such a log entry is
applied and completed and it then remains invalid until the
next interval when peering runs again. Other shards will
continue to update pwlc and any complete subset of shards
in a future interval will include at least one shard that
has continued to update pwlc
Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
(cherry picked from commit
534fc76d40a86a49bfabab247d3a703cbb575e27)