[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Major JFFS2 bug (?)



 

>The question 'what does a complete operation mean' is application
>specific.

All true statements, and I don't disagree with any of them, except- why
can't we say that if we define "a complete operation", as asked by you
above, to be a single write() command to a fd, then why is it asking too
much to either gurantee the older data if write did not complete (in case of
pwr failure) or all new data if write *did* complete.

In this case, the application *is* working to make sure that it is taking
care of scatter and gather all data that it cares about into one single
write. Of course, any data written with multiple writes, is either not
important to be "rolled back and recovered" in the case of power failure
(e.g. appended log file data) or it is an application desgin flaw.

If you bear with me and follow the reasoning: JFFS was designed with this
express purpose in mind. It *does* already implement "roll back" to older
inodes in case the new ones did not take. However, no direct interface to
this granuality is available to the app level (as a single system write()
call is broken up into multiple jffs2_write() calls). I am making a case, if
possible, for exporting this feature at the system write() command interface
for the app level to use. Why is that too much to ask?

Vipin

To unsubscribe from this list: send the line "unsubscribe jffs-dev" in
the body of a message to majordomo@xxxxxxx.com