I. Introduction
The notion of a cache hierarchy has long been central to the design of storage systems to improve their performance [1]. The faster, more expensive, and smaller performance layers can serve as caches for the slower, cheaper, and larger capacity layers [1], [2]. The foundation for caching in Linux is implemented in the Virtual File System (VFS) which enables a transparent access to files independent from the file system implementation. The Linux VFS therefore supports caching for many local and remote file systems through the page cache, the directory entry cache (dcache), and the inode cache (icache) [3]–[5]. Additionally, it ensures concurrency control and permission checking.