2

在我的程序中,有一个函数可以经常调用stat()以获取闪存中文件的属性。有时断电重启后文件的内容会丢失。我注意到stat()finally 调用了 Linux 内核中的文件系统驱动程序。

我的问题是:Linux内核fs会打开或读取文件以获取文件属性吗?在 stat() 或 fstat() 期间断电是否可能损坏闪存中的文件?

4

1 回答 1

3

stat() 调用所做的只是检索文件 i 节点的内容;文件本身没有被触及。但是,文件的 i-node 将在内存中,并且文件以任何方式更新[即使被此或其他进程保持打开状态],文件 mtime 等将需要更新,并且 i-node 将得到更新,也许是错误的。噗!无文件。

但这种行为并非 Flash 独有。

于 2015-06-22T23:09:36.857 回答