======================
 About Ext2Fsd
======================

The Ext2Fsd project is an ext2 file system driver for WinNT/2000/XP.

It's a free software and everyone can distribute and modify it under
the terms of GNU GPL.

======================
 Author & Homepage
======================

Matt<mattwu@163.com>
http://ext2.yeah.net


======================
 Credits 
======================

Here, I owe all my thanks to Bo Branten<bosse@acc.umu.se> for his project
romfs and his great contribution of the free version ntifs.h.

Everyone can get to him at http://www.acc.umu.se/~bosse/.


======================
 Revision history
======================

22, V0.24:   2005-03-28

    Bug Fixed:

      1, Codepage support errors fixed.
      2, Ext2LookupFileName: should fail when it's not a real path.
      3, Ext2FastIoQueryNetworkOpenInfo: Fcb not initialized.

    Features Newly Supported:

      1, Sparse file support. 
      2, Setup and config tools by Jared Breland.


21, V0.23:   2005-01-09

    Bug Fixed:

      1, Ext2ReadSync: Thread stack is paged out, which casues "Event" is invalid.
      2, Ext2InitializeVcb: Ext2Global->McbList is referred before initializing.


    Features Newly Supported:

      1, Multi codepages supported
        In registry, ther's a new item named "CodePage", just change it to the
        codepage name you want to use. The codepage name is the same to linux
        system.

        Here's the codepages list: 

        big5    cp1251  cp1255  cp437   cp737   cp775   cp850   cp852   cp855
        cp857   cp860   cp861   cp862   cp863   cp864   cp865   cp866   cp869
        cp874   cp949   cp950   euc_jp  euc_kr  iso8859_1       iso8859_13 
        iso8859_14  iso8859_15  iso8859_2   iso8859_3   iso8859_4   iso8859_5
        iso8859_6   iso8859_7   iso8859_8   iso8859_9   koi8_r  koi8_ru koi8_u
        sjis    tis_620 cp936   gb2312  utf8

        If you don't specify it or make a wrong page type, system default OEM
        codepage will be used.


20, V0.22b:  2004-11-05

    Bugs Fixed:
      1, Deleting and copying files from/to a directory frequently corrupts
         the directory. E2fsck will report "directory corrupted". This bug
         is cuased by Ext2AddEntry.

19, V0.22a:  2004-10-28

    Bugs Fixed:
      1, Fsck error reports: "inode is in use, but has dtime set." for
         deleted directories. This bug caused by non-zero i_links_count
         of deleted directory inode.
      2, When many files (Normally > 255 files, reported by Zhoujingg)
         are deleted, the dir entry may cross blocks, which will cause
         ext2/ext3 driver could not correctly read the directory entries.

18, V0.22:  2004-10-04

    Bugs Fixed:
      1, Mcb part overflows the stack
      2, Delay-writing errors: cache lost
      3, Bad file type for newly created files

    Features Newly Supported:
      1, Optimize the Mcb management part and the function of Ext2SaveGroup
      2, Big files (> 4G) accessing

17, V0.21:  2004-06-09

    Bugs Fixed:
      1, Ext2Flush does not complete the IRP for READ_ONLY mode.
      2, Delayed close tries to refer completed Irps.
      3, Directory content does NOT ends with zero-inode entry. Ext2ScanDir
         and Ext2QueryDirectory do a wrong way to enum entries. Thanks to 
         "Bomb" <bomb_hero@163.com>
      4, Ext2MountVolume still returns STATUS_SUCCESS for non-ext2 volumes.
      5, Ext2SetRenameInfo always treats "Rename" as "Move"

    Features Newly Supported:
      1, Various sector sizes support from 512 to 4096.
      2, Compatible for windows nt 4.0.
      3, Remvoable disk supported (CDROM is to be supported in next version.)
      4, Volumes umounting works (Force dismount supported)...
      5, Floppy partially support (NOT complete yet) ...
      6, Add CheckingBitmap / Ext3ForceWriting parameter key in the registry
      7, Quick format supported (directly access on mounted ext2 volumes.)

16, V0.20:  2003-12-26
      1, Merge Petr Borsodi's  patches for several problems.
      2, Unicode/OEM characters support.?
      3, Change notifications is supported.
      4, Totally Optimize and upgrade.?
      5, ......

15, V0.10A: 2003-01-14
      1, FIXME: Deadlock caused by CcPurgeCacheSection for readonly volumes

14, V0.10:  2003-01-03
      1, Merge xjaguar's patch: Ext2NewInode and Ext2NewBlock fail on one
         group ext2 system.
      2, Merge Bo Branten's patch: Sync modifications of Romfs.
      3, FIXME: Ext2Flush causes crash when shuting down. Thanks Petr Borsodi
         for his clues.
      4, FIXME: Crash when playing media files (mpg, wav ...)
      5, ......

13, V0.09A: 2002-08-03
      1, Add mcb feature to keep cache coherence between volume and file
         streams 
      2, Skip "AdvacneOnly" when setting FileEndOfFileInformation.
      3, Add file stream dirty flag in order to flush it when cleanup.
      4, Some corrections of lock operations
      5, Fix volume size reporting in Ext2QueryVolumeInformation

12, V0.09: 2002-07-25
      1, Fix some minor bugs
      2, Redesign some internal architectures
      3, Add writing support (Ext3 is not supported yet.)
           1) File write.c: writing functions 
           2) File flush.c: do flushing
           3) File shutdown.c: prepare for system shutdown 
           4) Many modifications in create.c/fileinfo.c/volinfo.c ...

11, V0.08: 2002-05-28
      1, Fix page-fault bsod when reading bad-size inodes
      2, Fix a minor bug in Ext2GetBlock
      3, Add binary-tree-mechanism to store the info of opened files

10, V0.07A: 2002-05-17
      1, Merge Boose's patch: make ext2fsd cooperating with his ntifs.h
         (verion r36) and winxp ddk.
      2, Fix wildcases matching in Ext2QueryDirectory

 9, V0.07: 2002-05-14
      1, FIXME: only some minor bugs
      2, Add access protection of some sharable members
      3, Add booting start support
      4, Change the driver's name to ext2fsd.sys

 8, V0.06: 2002-03-12
      1, FIXME: BSOD when playing wav/mpeg/avi with IE embedded memdiaplay.
      2, Some optimizations in Ext2QueryDirectionary and Ext2ScanDir.

 7, V0.05: 2002-03-01
      1, FIXME: Ext2Create: Ext2ScanDir returns wrong fcb.
      2, Support file executing now.

 6, V0.04: 2002-02-20
      1, Add caching support. 

 5, V0.03: 2002-02
      (It's an internal version, not released.)
      1, Keep up with romfs: add byte-range lock and directory change
         notification.

 4, V0.02: 2002-02-07
      1, Add large ext2 partition support. 

 3, V0.01: 2002-01-26
      1, Make it public at http://ext2.yeah.net.

 2, 2001-10
      1, Non-public pre-release of ext2fsd was born.

 1, 2001-08
      1, I began the journey of file system driver developing with romfs


======================
 Bugs
======================

(Nobody can expect that ext2fsd is bug-free.)
Any bugs, please mail to me.


======================
 How to install
======================

1, start a dos shell (cmd.exe)
2, cd /ext2fsd_install_path/setup
3, run the following commands (deponding your system)

   setup 2k utf8: to install ext2fsd (utf8 version) for windows 2000
   setup 2k all:  to install ext2fsd (all codepages version) for windows 200
   setup xp utf8: to install ext2fsd (utf8 version) for windows xp
   setup xp all:  to install ext2fsd (all codepages version )for windows xp


   The uft8 version is much smaller than the version with all codepages ebmeded.
   If you only use utf8 or system default codepage, you can install the uft8 verison.
   Also you can build the driver on your own with your specified settings.

4, now you can mount the ext2 partitions now


======================
 How to uninstall
======================

1, Just run uninstall.bat in the Ext2Fsd.zip package.
   .OR.
2, Use the "Add/Remove Programs" in "Control Panel", click the item of
   "linux ext2 file system driver" to remove the program.
   .OR.
3, Manually remove the ext2fsd projects files. 
   a) Remove the registry: HKLM\...\Ext2Fsd & Uninstall ...
   b) Remove Mount.exe/Mke2fs.exe from $(SystemRoot)\system32
   c) Remove Ext2Fsd.sys from $(SystemRoot)\system32\drivers
   d) Remove ext2fsd.inf from $(SystemRoot)\inf


======================
 Writing support
======================

Two ways are optional to enable writing support.

1, Change the value of "Parameters\WritingSupport" in ext2fsd.reg to 1, then
   import the reg file into system registry.
   Or modify the registry directly. Like this:

   -------------------------------------------------------------------------
   [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ext2Fsd\Parameters]
   "WritingSupport"=dword:00000001
   -------------------------------------------------------------------------

   Notes: Reboot is need.

   Or

2, Change the definition of EXT2_READ_ONLY to 0, and recompile ext2fsd, then
   overwrite the original one. (See line 27 in ext2fs.h)


Please refer FAQ.txt for more information.
