fellow_cache: _obj_get to return latched error

parent 9210747a
......@@ -5744,7 +5744,8 @@ struct objcore **ocp, uintptr_t priv2, unsigned crit)
break;
case FCO_READFAIL:
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:
// race, retry
fellow_cache_obj_deref(fc, fco);
......@@ -5753,7 +5754,7 @@ struct objcore **ocp, uintptr_t priv2, unsigned crit)
WRONG("fco state");
}
return (FCR_OK(fco));
return (fco->fcr);
}
TAKEZN(fco, nfco);
......@@ -5879,7 +5880,8 @@ struct objcore **ocp, uintptr_t priv2, unsigned crit)
if (dowry.bits)
AN(buddy_return_ptr_page(rets, &dowry));
buddy_return(rets);
return (FCR_OK(fco));
fco->fcr = FCR_OK(fco);
return (fco->fcr);
err:
if (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