ZFS allows for that level of control: assign a cache device to the pool, then set your secondarycache flag to metadata.  Yes the metadata will hit the primary cache first (memory), but it will spill onto the secondary as it is pressured out of ARC.  I&#x27;ve got a SD card playing that role in my build machine, it works really well for keeping track of all the tiny files that make up the FreeBSD base and ports trees.