shithub: lwext4

Download patch

ref: 266c5e53b09b2bdb1c7a2301616dbbbd6b5d5f11
parent: a48f2f6fecddd54a5830d6b61cfc608fb3f364c3
author: gkostka <kostka.grzegorz@gmail.com>
date: Sun Oct 27 14:07:39 EDT 2013

Add readme file.

--- a/blockdev/filedev/ext4_filedev.c
+++ b/blockdev/filedev/ext4_filedev.c
@@ -66,7 +66,7 @@
 );
 
 /******************************************************************************/
-EXT4_BCACHE_STATIC_INSTANCE(__cache, 8, 1024);
+EXT4_BCACHE_STATIC_INSTANCE(__cache, CONFIG_BLOCK_DEV_CACHE_SIZE, 1024);
 
 /******************************************************************************/
 static int filedev_open(struct ext4_blockdev *bdev)
--- a/blockdev/io_raw/io_raw.c
+++ b/blockdev/io_raw/io_raw.c
@@ -71,7 +71,7 @@
 );
 
 /******************************************************************************/
-EXT4_BCACHE_STATIC_INSTANCE(__cache, 8, 1024);
+EXT4_BCACHE_STATIC_INSTANCE(__cache, CONFIG_BLOCK_DEV_CACHE_SIZE, 1024);
 
 /******************************************************************************/
 static int io_raw_open(struct ext4_blockdev *bdev)
--- a/demos/generic/main.c
+++ b/demos/generic/main.c
@@ -82,19 +82,19 @@
 /**@brief	Block cache handle.*/
 static struct ext4_bcache   *bc;
 
-static const char *usage = "									\n\
-Welcome in ext4 generic demo.									\n\
-Copyright (c) 2013 Grzegorz Kostka (kostka.grzegorz@gmail.com)	\n\
-Usage:															\n\
-    --i   - input file             (default = ext2)				\n\
-    --rws - single R/W size        (default = 1024)				\n\
-    --rwc - R/W count              (default = 10000) 			\n\
-    --cache  - 0 static, 1 dynamic  (default = 1)                \n\
-    --dirs   - directory test count (default = 0)                \n\
-    --clean  - clean up after test                               \n\
-    --bstat  - block device stats                                \n\
-    --sbstat - superblock stats                                  \n\
-    --wpart  - windows partition mode                            \n\
+static const char *usage = "                                    \n\
+Welcome in ext4 generic demo.                                   \n\
+Copyright (c) 2013 Grzegorz Kostka (kostka.grzegorz@gmail.com)  \n\
+Usage:                                                          \n\
+    --i   - input file              (default = ext2)            \n\
+    --rws - single R/W size         (default = 1024 * 1024)     \n\
+    --rwc - R/W count               (default = 10)              \n\
+    --cache  - 0 static, 1 dynamic  (default = 1)               \n\
+    --dirs   - directory test count (default = 0)               \n\
+    --clean  - clean up after test                              \n\
+    --bstat  - block device stats                               \n\
+    --sbstat - superblock stats                                 \n\
+    --wpart  - windows partition mode                           \n\
 \n";
 
 static char* entry_to_str(uint8_t type)
--- a/lwext4/ext4.c
+++ b/lwext4/ext4.c
@@ -363,7 +363,7 @@
         mp->cache_dynamic = 1;
         bc = malloc(sizeof(struct ext4_bcache));
 
-        r = ext4_bcache_init_dynamic(bc, 8, bsize);
+        r = ext4_bcache_init_dynamic(bc, CONFIG_BLOCK_DEV_CACHE_SIZE, bsize);
         if(r != EOK){
             free(bc);
             ext4_block_fini(bd);
--- /dev/null
+++ b/readme.txt
@@ -1,0 +1,173 @@
+
+About lwext4
+============
+
+The main goal of the lwext4 project is to provide ext2/3/4 filesystem
+library for microcontrolers.
+
+kostka.grzegorz@gmail.com
+
+Credits lwext4
+==============
+
+A lot of the implementation of lwext4 was taken from HelenOS:
+ - http://www.helenos.org/
+ 
+Some of ideas and features are based on FreeBSD and Linux implementations.
+
+lwext4 supported/unsupported ext2/3/4 fs features
+=================================================
+FEATURE_INCOMPAT (unable to mount with unsupported feature):
+ - COMPRESSION: no
+ - FILETYPE: 	yes
+ - RECOVER: 	no
+ - JOURNAL_DEV:	no
+ - META_BG:		no
+ - EXTENTS: 	yes
+ - 64BIT:		yes
+ - MMP:			no
+ - FLEX_BG 		no
+ - EA_INODE:	no
+ - DIRDATA:		no
+ 
+FEATURE_INCOMPAT (able to mount with unsupported feature):
+ - DIR_PREALLOC:   no
+ - IMAGIC_INODES:  no
+ - HAS_JOURNAL:    no
+ - EXT_ATTR: 	   no
+ - RESIZE_INODE:   no
+ - DIR_INDEX:      yes
+
+FEATURE_RO (able to mount in read only with unsupported feature):
+ - SPARSE_SUPER:  yes
+ - LARGE_FILE:    yes
+ - BTREE_DIR:     no
+ - HUGE_FILE:     yes
+ - GDT_CSUM:      yes
+ - DIR_NLINK:     yes
+ - EXTRA_ISIZE:   yes
+
+Supported filetypes:
+ - FIFO: 	  no
+ - CHARDEV:	  no
+ - DIRECTORY: yes
+ - BLOCKDEV:  no
+ - FILE:      yes
+ - SOFTLINK:  no
+ - SOCKET:    no
+
+Other:
+ - block_size: 1KB, 2KB, 4KB ... 64KB
+ - little/big endian architecture support
+
+
+lwext4 project tree
+===================
+
++blockdev      - block devices set, supported blockdevs
+ - filedev     - file based block device
+ - io_raw      - wiodows IO block device
+
++demos         - demo directory sources
+ - generic     - generic demo app, used for development and and debbuging purpose
+ 
++lwext4        - internals of the lwext4 library
+
++toolchain     - specific toolchain cmake files
+
++ext4.h	       - lwext4 client library header
+CMakeLists.txt - CMake config file
+ext_images.7z  - ext2/3/4 100MB images
+Makefile       - helper makefile to call cmake
+readme.txt     - yes, you are here ;)
+  
+lwext4 compile Windows
+======================
+
+Tools needed:
+ - CMake:  http://www.cmake.org/cmake/resources/software.html
+ - MinGw:  http://www.mingw.org/
+ - GnuWin: http://gnuwin32.sourceforge.net/ 
+
+Build:
+>>make
+
+Clean:
+>>clean
+
+Successful build generates out of source build directory:
++build_generic
+
+lwext4 compile Linux
+====================
+Tools needed:
+ - CMake:  http://www.cmake.org/cmake/resources/software.html
+ 
+Build:
+>>make
+
+Clean:
+>>clean
+
+Successful build generates out of source build directory:
++build_generic
+
+lwext4 generic demo app
+=======================
+
+Features:
+ - load ext2/3/4 images
+ - load linux block device with ext2/3/4 part
+ - load windows volume with ext2/3/4 filesystem 
+ - directory speed test
+ - file write/read speed test
+
+How to use:
+Windows/Linux fileimages:
+> cd build_generic
+> fileimage_demo --in ext2 
+
+Windows volumes:
+> cd build_generic
+> fileimage_demo --in I: --wpart
+
+Linux block devices:
+> cd build_generic
+> fileimage_demo --in /dev/your_block_device
+
+Usage:                                                          
+    --i   - input file              (default = ext2)            
+    --rws - single R/W size         (default = 1024 * 1024)     
+    --rwc - R/W count               (default = 10)                     
+    --cache  - 0 static, 1 dynamic  (default = 1)               
+    --dirs   - directory test count (default = 0)               
+    --clean  - clean up after test                              
+    --bstat  - block device stats                               
+    --sbstat - superblock stats                                 
+    --wpart  - windows partition mode                           
+
+
+lwext4 compile Cross
+====================
+
+Toolchain for ARM Cortex-m3/4: https://launchpad.net/gcc-arm-embedded
+Toolchain for Blackfin: http://blackfin.uclinux.org/doku.php
+
+Build bf158 library:
+> make bf518
+
+Build cortex-m3 library:
+> make cortex-m3
+
+Build cortex-m4 library:
+> make cortex-m4
+
+lwext4 ports
+============
+
+Blackfin BF518 EZKIT SD Card Demo: TBD
+ETM32F4-Dis SD Card Demo: TBD 
+
+
+lwext4 footprint
+================