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.
The tasks of UFFS v1.3
UFFS v1.3 版本将引入新的 API:int uffs_SkipObject,用于文件对象从头部跳过指定字节数的数据,并返回已跳过的字节数。此外,还将引入缓冲区组来缓存跨块数据,提高写入多个文件时的性能。同时,提供 Linux MTD 接口以使用 mtd 设备作为底层闪存驱动。


被折叠的 条评论
为什么被折叠?



