On Thursday 25 February 2010 21:06:02
johan@teenageengineering.com wrote:
> Hi!
> I am configuring yaffs as a virtual file system for sqlite3. I just
> want to confirm that the capability information I pass to sqlite3 is
> correct.
> SQLITE_IOCAP_ATOMIC - all writes of any size are atomic.
Nope, you won't get that. Writes are broken into pages. If you interrupt power
halfway through a 1Mbyte write you'll end up with some number of pages
written.
> SQLITE_IOCAP_SAFE_APPEND - when data is appended to a file, the data
> is appended first then the size of the file is extended, never the
> other way around.
They happen together. Append == file extension.
> SQLITE_IOCAP_SEQUENTIAL - information is written to disk in the same
> order as calls to write().
Not by default. Short page writes will end up in the cache waiting to be
flushed out.. You can get that if you force writethrough on.
> I assume I have these capabilities for free with a journalling file
> system?
YAFFS is not really a journalling fs. It is a log structured fs.
-- Charles