> >>(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? Jeff
