说我想在一个Linux机器上同步文件系统的数据缓冲区到磁盘(在我的情况下是一个USB棒分区)。同步没有文件的文件系统
虽然搜索功能来做到这一点,我发现以下
说明
sync() causes all buffered modifications to file metadata and data to be written to the underlying file sys‐ tems. syncfs(int fd) is like sync(), but synchronizes just the file system containing file referred to by the open file descriptor fd.
但是,如果在文件系统上有没有文件,我可以打开并传递给syncfs
?我可以“滥用”点文件吗?它是否显示在所有文件系统上?
是否有另一个功能,做我想要的?也许通过提供具有主要/次要数字或一些这样的设备文件?
是的,但如果你刚删除所有文件,并且想同步_that _... –
那么,我想这不是问题。但是,为了回答你的问题,sync将所有脏缓冲区写回到磁盘,并更新超级块/ inode元数据信息。同步,同步是总是成功的,所以如果你删除文件,这个信息也需要更新。所以,将会同步。如果您不手动调用同步,则会由内核闪光灯线程同步。 –
@joachim是对的。这是我的问题。 –