fellow_cache: _obj_get to return latched error

parent 277e497e
...@@ -5722,7 +5722,8 @@ struct objcore **ocp, uintptr_t priv2, unsigned crit) ...@@ -5722,7 +5722,8 @@ struct objcore **ocp, uintptr_t priv2, unsigned crit)
break; break;
case FCO_READFAIL: case FCO_READFAIL:
fellow_cache_obj_deref(fc, fco); fellow_cache_obj_deref(fc, fco);
return (FCR_IOFAIL("hit READFAIL object")); fco_latch_err(fco, FCR_IOFAIL("hit READFAIL object"));
break;
case FCO_EVICT: case FCO_EVICT:
// race, retry // race, retry
fellow_cache_obj_deref(fc, fco); fellow_cache_obj_deref(fc, fco);
...@@ -5731,7 +5732,7 @@ struct objcore **ocp, uintptr_t priv2, unsigned crit) ...@@ -5731,7 +5732,7 @@ struct objcore **ocp, uintptr_t priv2, unsigned crit)
WRONG("fco state"); WRONG("fco state");
} }
return (FCR_OK(fco)); return (fco->fcr);
} }
TAKEZN(fco, nfco); TAKEZN(fco, nfco);
...@@ -5856,7 +5857,8 @@ struct objcore **ocp, uintptr_t priv2, unsigned crit) ...@@ -5856,7 +5857,8 @@ struct objcore **ocp, uintptr_t priv2, unsigned crit)
if (dowry.bits) if (dowry.bits)
AN(buddy_return_ptr_page(rets, &dowry)); AN(buddy_return_ptr_page(rets, &dowry));
buddy_return(rets); buddy_return(rets);
return (FCR_OK(fco)); fco->fcr = FCR_OK(fco);
return (fco->fcr);
err: err:
if (ocp) { if (ocp) {
AZ(*ocp); AZ(*ocp);
......
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