Consider the following `resolve_oid()` case:
```
// Because oid.snap > ss.seq, we are trying to read from a snapshot
// taken after the most recent write to this object. Read from head.
```
In this case, a no-op is expected as the head object can read from.
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit
18f3a67cb53c473fd74a92ab7d5211dff63b88fa)
head, target_coid,
[this, &os, &txn, &delta_stats, &osd_op_params]
(auto clone_obc) {
+ if (clone_obc->obs.oi.soid.is_head()) {
+ // no-op: The resolved oid returned the head object.
+ logger().debug("PGBackend::rollback: loaded head_obc: {}"
+ " do nothing",
+ clone_obc->obs.oi.soid);
+ return rollback_iertr::now();
+ }
logger().debug("PGBackend::rollback: loaded clone_obc: {}",
clone_obc->obs.oi.soid);
// 1) Delete current head