Minor refactor

parent 66a07c7a
......@@ -4125,7 +4125,7 @@ fellow_cache_obj_deref_locked(struct fellow_cache *fc,
struct fellow_cache_obj *fco)
{
struct fellow_cache_seg *fcs;
unsigned refcnt;
unsigned last, refcnt;
CHECK_OBJ_NOTNULL(fc, FELLOW_CACHE_MAGIC);
CHECK_OBJ_NOTNULL(fco, FELLOW_CACHE_OBJ_MAGIC);
......@@ -4135,16 +4135,15 @@ fellow_cache_obj_deref_locked(struct fellow_cache *fc,
assert_cache_seg_consistency(fcs);
if (fcs->refcnt == 1 && fcs->fco_infdb) {
refcnt = fellow_cache_seg_deref_locked(fc, fcs);
last = fcs->refcnt == 1 && fcs->fco_infdb;
refcnt = fellow_cache_seg_deref_locked(fc, fcs);
if (last) {
fcs->fco_infdb = 0;
AZ(refcnt);
/* REF_FDB_REMOVE */
AZ(pthread_mutex_lock(&fc->fdb_mtx));
(void) VRBT_REMOVE(fellow_cache_fdb_head, &fc->fdb_head, fco);
AZ(pthread_mutex_unlock(&fc->fdb_mtx));
} else {
refcnt = fellow_cache_seg_deref_locked(fc, fcs);
}
return (refcnt);
}
......
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