JFFS2 VC PC, running on top of the virtual Flash, easy principle analysis of JFFS2; is out of the eCos2.0 transplantation, has been from the Linux VFS, so simple change Flash drive driver, JFFS2 can be ported to non-Linux or other OS for embedded systems. Has passed the tests.
File list:
jffs2
....\compat
....\......\asm
....\......\...\bug.h
....\......\...\page.h
....\......\compiler.h
....\......\crc32.h
....\......\fs.h
....\......\kernel.h
....\......\list.h
....\......\mtd_h
....\......\pagemap.h
....\......\rbtree.c
....\......\rbtree.h
....\......\sched.h
....\......\slab.h
....\......\stat_h
....\......\string.h
....\......\TODO
....\......\types_h
....\......\workqueue.h
....\compress
....\........\adler32.c
....\........\compress.c
....\........\deflate.c
....\........\deflate.h
....\........\infblock.h
....\........\inffast.c
....\........\inffast.h
....\........\inffixed.h
....\........\inflate.c
....\........\inflate.h
....\........\inftrees.c
....\........\inftrees.h
....\........\infutil.h
....\........\trees.c
....\........\trees.h
....\........\uncompr.c
....\........\zconf.h
....\........\zlib.h
....\........\zutil.c
....\........\zutil.h
....\crc
....\...\crc.h
....\...\crc16.c
....\...\crc32.c
....\...\posix_crc.c
....\error
....\.....\codes.h
....\.....\errno.c
....\.....\errno.h
....\fileio
....\......\devfs_c
....\......\dir.c
....\......\dirent.h
....\......\fd.c
....\......\file.c
....\......\fileio.h
....\......\fio.h
....\......\fnmatch_c
....\......\fnmatch_h
....\......\inocache_c
....\......\inode.h
....\......\io.c
....\......\limits_h
....\......\misc.c
....\......\select_c
....\......\socket_c
....\......\sockio_h
....\infra
....\.....\cyg_ass.h
....\.....\cyg_trac.h
....\.....\cyg_type.h
....\.....\diag.h
....\.....\testcase.h
....\io
....\..\config_keys.h
....\..\devtab.h
....\..\flash.h
....\..\flash1.c
....\..\io.h
....\..\iosys.c
....\isoinfra
....\........\cyg_stddef.h
....\........\dirent_h
....\........\limits.h
....\........\unistd.h
....\jffs2
....\.....\build.c
....\.....\compr.c
....\.....\compr.h
....\.....\compr_rtime.c
....\.....\compr_rubin.c
....\.....\compr_rubin.h
....\.....\compr_zlib.c
....\.....\debug.c
....\.....\debug.h
....\.....\dir-ecos.c
....\.....\erase.c
....\.....\flashio.c
....\.....\fs-ecos.c
....\.....\gc.c
....\.....\gcthread.c
....\.....\histo.h
....\.....\histo_mips.h
....\.....\jffs2.h
....\.....\jffs2_fs_i.h
....\.....\jffs2_fs_sb.h
....\.....\malloc-ecos.c
....\.....\nodelist.c
....\.....\nodelist.h
....\.....\nodemgmt.c
....\.....\os-ecos.h
....\.....\pushpull.h
....\.....\read.c
....\.....\readinode.c
....\.....\scan.c
....\.....\write.c
....\kernel
....\......\kapi.c
....\......\kapi.h
....\pkgconf
....\.......\pkgconf.h
....\Release
....\.......\jffs2.exe
....\sys
....\...\fcntl.h
....\...\select.h
....\...\stat.h
....\...\time.h
....\...\types.h
....\tests
....\.....\jffs2_1.c
....\.....\jffs2_2.c
....\.....\jffs2_3.c
....\change.h
....\jffs2.dsp
....\jffs2.dsw
....\jffs2.ncb
....\jffs2.opt
....\jffs2.plg
....\main.cpp
....\problem.h
....\tthread.c