每当我在UBIFS文件系统上运行我的应用程序并对任何文件执行写操作(提供的文件具有正确的读写模式)时,在关闭电源后立即打开,我看到写入该文件的内容丢失了。文件的大小为零。如果在JFFS2文件系统上执行同样的事情不会造成这个问题。我尝试过使用sync命令,但很少存在这个问题。
例如:
我需要在一个名为myfile的文件中写一些数据,在运行期间打开它并将一些数据写成“Hi..Hello ..”(如果我打开文件并在写入操作后检查,数据写得正确),然后在关机/重启后,我发现内容“Hi..Hello ..”不存在,文件大小为零字节。
注意:只有在关闭或重新启动系统后才会出现问题。
答案 0 :(得分:2)
UBIFS的同步频率较低。因此,如果文件是重要的调用,在用户应用程序中,您必须调用fsync()。我建议您执行以下操作之一以防止UBIFS中的数据丢失: