The tasks of UFFS v1.3 博客分类: UFFS LinuxFlashperformanceAccessCache
The tasks of next UFFS minor version(v1.3) would be:
* New API:
int uffs_SkipObject(uffs_Object *obj, int size);
This function will make the file object skip "size" bytes from head, return bytes have been skipped. It's not a POSIX standard api, but it would be very useful when using the file as FIFO. For example, when recording streaming video to a file, it allows to skip the earliest content and keep recording when flash become full.
* Introduce buffer group
Use grouped buffers to cache data across blocks. This will avoid performance penalty when opening multiple files for write.
* Interface to Linux MTD
This interface allows to use mtd device as low level flash driver on linux. It's not implies that you can use file operation APIs from libc to access UFFS file system. You still use uffs_xxx APIs, UFFS as a library linked to your application, running on user space not kernel space.
One may ask why not just use YAFFS2 or JFFS2 ? Well, the new introduced "uffs_SkipObject"
API may be one of the reason, it can't be implemented effetively on top of POSIX api.