我有一个运行在 KVM/QEMU 之上的 ARM 虚拟机,并有一个文件作为根文件系统挂载。虚拟机没有网络,所以 NFS 挂载根是不可能的。我正在测试一种特定的 IO 传输机制,所以我有点坚持我所拥有的。
我想将文件发送到来宾,所以我想将文件挂载到主机上,向其中写入内容,然后卸载它以强制刷新。文件系统的内容是微不足道的,我有一个备份,所以我没有损坏的问题。同样,性能也不是问题。
问题是,当我做这个 mount-write-unmount 事情时,客人永远看不到文件。我猜这是内核文件系统缓存的结果,当我执行 ls 时,文件不存在。我猜关于文件系统的元数据被缓存在内存中,并且文件系统的更新永远不会出现。
我猜如果我禁用文件系统缓存,那么所有读取都将被强制写入磁盘,导致文件系统被命中,并且我的文件出现。有小费吗?