Can anyone explain how the FlashFS handles loss of power? I am concerned about losing data that has been buffered but not written during a power failure. I will be writing directly to SPI flash chips (M25Pxx).
Also, does the file system perform wear levelling?
I think no file system is immune to power failure.
Hmm, aren't journaling file systems designed to be immune to power failure? It's not that difficult to make file system operations atomic across unexpected power cycles.
Many journaling FS are handling meta-data but not file data. When you have an open file and write data to it, you may not know how many bytes that will survive, and you can't modify a file in the middle and know what state it will be in if there is a power loss.
In some situations, you may have to create a new file and then replace the original file (a meta data operation) to get a snapshot change that will guarantee that you either have the old or the new file if you get a power loss during the operation.
In an embedded environment, I would be very scared to use a FS that doesn't have at least journaling of meta-data.