UBIFS recovery truncates file to zero size

Reuben Dowle Reuben.Dowle at navico.com
Wed Mar 11 14:13:46 EDT 2009

The file is kept in the kernel write-back cache, until it is synced by
the user (eg. A sync() or fsync() call) or the kernel decides to write
it back (seems to be after 30 seconds by default).

You can disable write back cache, but if you make lots of small writes
to the file this will cause more wear on the flash. It is better to call
fsync() when you want the data to be saved.

See http://www.linux-mtd.infradead.org/doc/ubifs.html#L_writeback

Also be carefull to note the comment about making your updates atomic.
Just adding the odd fsync() is not going to truely guarenteed your data
is not going to get fried.


-----Original Message-----
From: linux-mtd-bounces at lists.infradead.org
[mailto:linux-mtd-bounces at lists.infradead.org] On Behalf Of Iram Shahzad
Sent: Wednesday, 11 March 2009 10:16 p.m.
To: linux-mtd at lists.infradead.org
Subject: UBIFS recovery truncates file to zero size


I am having the following problem with UBIFS (Linux 2.6.25 +
Please could you tell me if this is a known issue.

    If the power is switched off abruptly while a file is being written,
    in the next boot the contents of the file is lost. That is, the file
    becomes zero sized. The problem is reproducable.

Thanks in advance.

Linux MTD discussion mailing list

More information about the linux-mtd mailing list