UBIFS synchronisation questions about file create/delete
Adrian Hunter
adrian.hunter at nokia.com
Fri Nov 27 03:19:04 EST 2009
Ronny Dierckx wrote:
> Hi,
>
> I'm using UBIFS (git://git.infradead.org/~dedekind/ubifs-v2.6.27.git)
> on an ARM device with OneNAND flash.
>
> I've been reading the documentation, FAQ, ... about sync/fsync/fdatasync and
> the
> write-back buffers, but there are still some things I don't understand.
>
> I create a file with vi, write some data in it, close it, don't call sync.
> Then
> after waiting 10 minutes I cut the power. When the system is restarted, the
> file is
> not there anymore?! Is this normal behavior? Shouldn't there be at least
> a file of 0 bytes because "UBIFS operations which change directory entries
> are synchronous"?
> Doesn't this mean that creating or deleting a file entry doesn't require a
> sync ?
No it is not normal behaviour.
10 minutes is long enough for everything to be written and flushed. The file
should be completely intact.
No UBIFS operations which change directory entries are not entirely
synchronous. There is a NAND-page-sized buffer which must be flushed.
It is flushed every 5 seconds or so. Otherwise you must do some kind of
sync.
I can only guess that that version of UBIFS is somehow broken.
Please send a bug report as described here:
http://www.linux-mtd.infradead.org/doc/ubifs.html#L_how_send_bugreport
but set the Default message level to 1.
More information about the linux-mtd
mailing list