Refactor for clarity: I think this is a good case for goto

parent 73ae4228
...@@ -1611,29 +1611,30 @@ stvfe_mutate(struct worker *wrk, struct objcore *oc) ...@@ -1611,29 +1611,30 @@ stvfe_mutate(struct worker *wrk, struct objcore *oc)
CHECK_OBJ_NOTNULL(oh, OBJHEAD_MAGIC); CHECK_OBJ_NOTNULL(oh, OBJHEAD_MAGIC);
if (oc->refcnt == 1 && !Lck_Trylock(&oh->mtx)) { if (oc->refcnt == 1 && !Lck_Trylock(&oh->mtx)) {
if (oc->refcnt == 1) { if (oc->refcnt != 1)
stv = oc_stv(wrk, oc); goto unlock;
stvfe = stv_stvfe(stv);
if (stv != stvfe->memstv) { stv = oc_stv(wrk, oc);
AZ(retval); stvfe = stv_stvfe(stv);
goto unlock;
}
assert_memstv(stvfe, stv); AZ(retval);
AN(oc->stobj->priv); if (stv != stvfe->memstv)
AN(oc->stobj->priv2); goto unlock;
fellow_cache_obj_evict_mutate(stvfe->fc, assert_memstv(stvfe, stv);
oc->stobj->priv); AN(oc->stobj->priv);
AN(oc->stobj->priv2);
fellow_cache_obj_evict_mutate(stvfe->fc,
oc->stobj->priv);
oc->stobj->priv = NULL;
oc->stobj->stevedore = stvfe->dskstv;
retval = 1;
stvfe->stats->c_mem_obj_mutate++;
wrk->stats->n_vampireobject++;
wrk->stats->n_object--;
oc->stobj->priv = NULL;
oc->stobj->stevedore = stvfe->dskstv;
retval = 1;
stvfe->stats->c_mem_obj_mutate++;
wrk->stats->n_vampireobject++;
wrk->stats->n_object--;
}
unlock: unlock:
Lck_Unlock(&oh->mtx); Lck_Unlock(&oh->mtx);
} }
......
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