Jeff Bonwick wrote:
>>>> (1) If *anyone* wants the block cached, it is cached.
>>>> (2) If *anyone* doesn't want the block cached, it is not cached.
>>>> (3) It might or might not be cached depending who gets there first.
>>>>
>>>> To me, (1) is the only policy that makes sense, or is even defensible.
>>> Agreed.  Seems like this could be accomplished in the above scenario by 
>>> having C set L2ARC_IS_CACHEABLE when it hits in the cache.
>>>
>> Indeed... and looking back at the actual webrev (instead of relying on
>> my memory) I see that Eric actually implemented something like (2)
>> above.  That is, he uses a ARC_DONT_L2CACHE flag and sets it when NC
>> gets a hit.
> 
> OK.  So it seems like the solution is to invert the logic there,
> and OR in ARC_DO_L2CACHE on any secondarily-cacheable cache hit.
> Everyone cool with that?

Makes sense to me.

-- 
Darren J Moffat

Reply via email to