如何确认在文件写入后块设备是否不再被写入



当我将文件写入设备块(例如/dev/sda(时,我必须等待一段时间,以确保缓冲区不再写入设备。我必须设置一个回调,以便在完成时触发UI事件。

我尝试过使用udisks2中的ejectable属性,正如文档所说,这只是一种猜测。在我的实验中,它并不可靠。

我注意到,当刷新完成时,我的文件管理器(Nautilus(允许我卸载设备。什么API为我提供了这样的设备属性?

在设备的文件描述符上调用fsync,确认缓冲区已完成写入。

最新更新