# K1591–K1595: read-only block cache keys and eviction Every cached block is keyed by volume, mount generation, media generation, inode, and block number. All identity fields except block number must be nonzero. A lookup with a changed mount or media generation misses even if the inode and block match. The cache has two fixed entries. Hits receive a later stamp; insertion uses a free slot or evicts the least recently used unpinned entry. A pinned entry cannot be replaced or invalidated. If both slots are pinned, insertion returns busy without changing data, stamps, or ownership. Invalidation for a mount is atomic: any matching pin refuses the whole operation. This is a bounded in-memory read-only cache model. Device reads, real page cache coherence, and product release acceptance need separate evidence.