每个人。我被困在以下问题上。
我正在开发一个混合存储系统,它使用 ssd 作为硬盘的缓存层。为此,应将从硬盘读取的数据写入ssd,以促进后续对该数据的读取。由于 Linux 将从磁盘读取的数据缓存在页面缓存中,因此可以延迟向 ssd 写入数据;但是,缓存数据的页面可能会被释放,不建议访问已释放的页面。这是问题:我有“struct page”指针指向要写入ssd的页面。有没有办法确定指针所代表的页面是否有效(通过有效我的意思是缓存的页面可以安全地写入ssd?如果通过指针访问释放的页面会发生什么?数据是释放的页面和释放前一样吗?