Armadilloフォーラム

SDカード内のファイルサイズが0バイトになってしまう

vulyokohama

2015年5月21日 13時32分

SDカード内のファイルサイズが
0バイトになってしまう不具合が出ています。

この現象が発生した時のコンソールログを見ると、
以下のエラーが発生しています。

-----------------------------------------------------
FAT: Filesystem panic (dev mmcblk0p1) fat_free_clusters:
deleting FAT entry beond EOF
File system has been set read-only
-----------------------------------------------------

このファイルは読込と書込を別プロセスで非同期で行っており、
同一ファイルに対して排他制御を行っておりません。

ただし、読込、書込はそれぞれ1プロセスで行っており、
読込同士、書込同士がかち合うことはございません。

同一ファイルに対して
ファイルの読込と書込がかち合うと、
この現象が発生する可能性はありますでしょうか?

以上、よろしくお願いいたします。

コメント

at_yashi

2015年6月12日 18時35分

> 同一ファイルに対して
> ファイルの読込と書込がかち合うと、
> この現象が発生する可能性はありますでしょうか?

基本的はないはずなんですが、発生しているのであればカーネルの bug ですね。
書き込み側で、ファイスサイズを小さくする、または消すことはありますか?
小さなテストケースを作成することは、可能でしょうか?

- http://git.kernel.org/linus/fa93ca18
- http://git.kernel.org/linus/9ca59f4c

なんかが怪しいかと思うのですが、どうでしょう?
(試したわけではなく、完全に勘です)