我有一个在一块闪存上运行 Debian 10 的单板设备。使用 UBIFS,并将其分为两个卷:一个 ro 根和一个 rw /var。我发现在电源循环/重置条件下,我可以得到 0 字节文件。我将我的“设置”保存在 /var/opt/myApp 中。将 /var 的挂载选项更改为包含sync
似乎会使这些事件消失。
我知道通常的建议是异步优于同步,但通常会用“通常,但并非总是”来警告,几乎没有解释异常可能是什么。
另一种解决方案是修改我将数据写入磁盘的所有调用站点,不仅在文件关闭时刷新,而且同步(我用python做了很多)。从编码/完整性的角度来看,安装sync
似乎既减少了工作量,又避免了我错过在某些地方添加同步保护,因为它是通用的。
此外,我允许设备将数据保存到 USB 拇指驱动器。我想我也应该安装这些同步,以减少在将数据写入它们后立即将它们拉出时的损失。
这是一个适当的特殊配置来证明使用的合理性sync
吗?还是我应该使用替代解决方案?