读取尚未保存到磁盘的文件

时间:2016-06-05 13:37:16

标签: c macos file caching hfs+

我的情况如下:

我使用一个进程来编写新文件,并在完成后关闭它。 另一个进程在第一个进程完成后立即打开此文件进行读取。不用说,这两个进程都驻留在同一个客户端上。

我的工作平台是OS X,它使用HFS +文件系统。

根据封闭的人页:

  

成功关闭并不能保证数据已成功保存到磁盘,因为内核会延迟写入。当流关闭时,文件系统刷新缓冲区并不常见。如果您需要确保数据是物理存储的,请使用fsync(2)。 (这取决于此时的磁盘硬件。)

这意味着该文件不一定会保存到磁盘。但是,在关闭文件后,我只关心相关性,并且我不会使用fsync,因为它非常耗时。

是否保证第二个进程从缓存中读取更新的数据 - 尽管它还没有被刷新到磁盘?

0 个答案:

没有答案