在我的程序中,有一个功能可以频繁调用stat()
来获取闪存存储中文件的属性。有时在关机后重新启动文件内容丢失。我注意到stat()
最终调用Linux内核中的文件系统驱动程序。
我的问题是:Linux内核将打开或读取文件以获取文件属性吗?在stat()或fstat()期间关闭电源是否可能损坏闪存中的文件?
答案 0 :(得分:2)
所有stat()调用都是检索文件的i节点的内容;文件本身没有被触及。但是,文件的i节点将在内存中,并且文件以任何方式更新[即使由此或其他进程保持打开],文件mtime等也需要更新并且i-node将得到更新,也许是错误的。噗!没有文件。
但这种行为并不是flash独有的。