> >Does setting these properties to a more-restrictive setting drop > >now-excluded cache entries immediately? (in other words, would > >setting > >primarycache=none and then setting it back to all serve to empty the > >cache of any entries from the affected datasets, and free up the > >corresponding system memory or cache disk space?) > > Clever, but no it does not - the properties only apply to new I/O.
Nor should it. The ARC and L2ARC are both physical caches, whereas ZFS datasets are logical. There can be many-to-one mappings between datasets and cached blocks, whether because of snapshots (today) or deduplication (coming). Trying to flush the ARC or L2ARC in response to turning off caching in a particular dataset would be like trying to flush physically tagged e-cache lines in respose to a process with shared memory segments exiting. Jeff
