diff options
-rwxr-xr-x | Ext3Fsd/notes.txt | 107 | ||||
-rwxr-xr-x | Ext3Fsd/readme.txt | 1166 |
2 files changed, 657 insertions, 616 deletions
diff --git a/Ext3Fsd/notes.txt b/Ext3Fsd/notes.txt index 3d688cf..be4925b 100755 --- a/Ext3Fsd/notes.txt +++ b/Ext3Fsd/notes.txt @@ -1,46 +1,61 @@ - -================================== -Release Notes for Ext2Fsd V0.53 -================================== - -Features implemented or bugfix since V0.52: - - 1, FIXME: BSOD with VHD/VHDX mounting on Win8 or layered FSD - 2, FIXME: Mke2fs failed to format mounted EXT2 volumes - 3, Enable writing with global or volume ext3-force-writi - 4, Support ext4 dir hash (UNSIGNED cases for legacy/half - 5, Fixed several warnings reported by scan.coverity.com - -Supported Ext3/4 features by 0.53: - - 1, flexible inode size: > 128 bytes, up to block size - 2, dir_index: htree directory index - 3, filetype: extra file mode in dentry - 4, large_file: > 4G files supported - 5, sparse_super: super block backup in group descriptor - 6, uninit_bg: fast fsck and group checksum - 7, extent: reading, writing with no extending. - 8, journal: only support replay for internal journal - 9, flex_bg: first flexible metadata group - -Unsupported Ext3/4 features: - - 1, journal: log-based operations, external journal - 2, extent: size truncating & expanding, file deletion - 3, EA (extended attributes), ACL support - 4, symlink creation - -Features to be implemented in next release: - - 1, full EXT4 extent feature support (extending, shrinking) - 2, mounted as user: privilege checking with given uid & gid - -WARNINGS: - - The driver may crash your system and ruin your data unexpectedly, - since there might be software conflicts and I could only test it - on some of the popular platforms. You should use it with care and - use it at your own risk! - -Matt <mattwu@163.com> -http://www.ext2fsd.com +
+==================================
+Release Notes for Ext2Fsd V0.60
+==================================
+
+Features implemented or bugfix since V0.53:
+
+ 1, Ext4 extent writing support (developed by ngkaho1234 @ gmail.com)
+ See his repository for more details:
+ http://github.com/ngkaho1234/Ext3Fsd.git
+ 2, Size manipulation and i/o path revised for support of indirect and
+ extent-based mappings
+ 3, 16T volume supported (tested and confirmed with 4T volume)
+ Version 0.53 and previous versions only support up to 2T volume
+ ticket: https://sourceforge.net/p/ext2fsd/bugs/134/
+ 4, Deletion acceleration: truncation optimized for indirect-based files
+ 5, Size-expanding disabled in IRP_MJ_CREATE for better performance.
+ Windows sometimes would truncate file size back to 0
+ 6, Support Volume exclusive-open for e2fsprogs utils. Any attempts
+ will be denied while EXT4 volume is being checked (e2fsck).
+ 7, FIXME: Possible zero-content returned (requesting data from file tail)
+ 8, FIXME: File ByteOffset updated for FO_SYNCHRONOUS_IO open (async i/o)
+ ticket: https://sourceforge.net/p/ext2fsd/bugs/133/
+ 9, FIXME: don't do byte or range round up for paging i/o requests
+ ticket: https://sourceforge.net/p/ext2fsd/bugs/129/
+ 10, FIXME: occasional block bitmap difference issue, cased by checksum
+ caculation in uninit_bg group initializing
+
+
+Supported Ext3/4 features by 0.60:
+
+ 1, flexible inode size: > 128 bytes, up to block size
+ 2, dir_index: htree directory index
+ 3, filetype: extra file mode in dentry
+ 4, large_file: > 4G files supported
+ 5, sparse_super: super block backup in group descriptor
+ 6, uninit_bg: fast fsck and group checksum
+ 7, extent: full support with extending and shrinking.
+ 8, journal: only support replay for internal journal
+ 9, flex_bg: first flexible metadata group
+
+Unsupported Ext3/4 features:
+
+ 1, journal: log-based operations, external journal
+ 2, EA (extended attributes), ACL support
+ 3, symlink creation
+
+Features to be implemented in next release:
+
+ 1, Reparse point support (hardlink, symbolic link etc)
+ 2, mounted as given user: privilege checking with given uid & gid
+
+WARNINGS:
+
+ The driver may crash your system and ruin your data unexpectedly,
+ since there might be software conflicts and I could only test it
+ on some of the popular platforms. You should use it with care and
+ use it at your own risk!
+
+Matt <mattwu@163.com>
+http://www.ext2fsd.com
diff --git a/Ext3Fsd/readme.txt b/Ext3Fsd/readme.txt index ba9b52d..f1dbbfb 100755 --- a/Ext3Fsd/readme.txt +++ b/Ext3Fsd/readme.txt @@ -1,570 +1,596 @@ -====================== - About Ext2Fsd -====================== - -Ext2Fsd project is an ext2 file system driver for Windows (2000/2003/XP/7/8). - -It's a free software. Everyone can distribute and modify it under GNU GPLv2. - -====================== - Author & Homepage -====================== - -Matt<mattwu@163.com> -http://www.ext2fsd.com - - -====================== - 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 -====================== - -44, V0.53: 2014-08-25 - -Modifications from V0.52: - - 1, FIXME: BSOD with VHD/VHDX mounting on Win8 - 2, FIXME: Mke2fs failed to format mounted EXT2 volumes - 3, Enable writing with global or volume ext3-force-writi - 4, Support ext4 dir hash (UNSIGNED cases for legacy/half - 5, Fixed several warnings reported by scan.coverity.com - - -43, V0.52: 2014-05-10 - -Modifications from V0.51: - - 1, Feature: Windows 8 supported - 2, Feature: Force-writing supported - 3, FIXME: data loss with TeraCopy when moving directories - 4, FIXME: ATTO Disk Benchnmark fails with direct i/o tests - 5, FIXME: files become invisible with empty hidden pattens - 6, FIXME: possible hang with concurrent access attempts - upon the same file - 7, FIXME: BSOD due to pagable code sections - -42, V0.51: 2011-07-10 - -Modifications from V0.50: - - 1, FIXME: Data corruption issue, especially for multiple-thread - writing on XP system - 2, FIXME: Set ValidDataLength only for FileEndOfFileInformation - w/ AdvanceOnly - 3, Support writing to ext4 volumes w/ flex_bg - 4, Code cleanup and enhancement for global/volume property settings - -41, V0.50: 2011-02-01 - -Modifications from V0.48: - - 1, Ext4 extent readonly support by Bo Branten. Writing is - possible but with no size-extending - 2, Ext3 directory index (hash-tree) support - 3, Fast fsck (uninit_bg) and group block checksum support - 4, Ext4 64k block size support - 5, Symlink/special inodes open/read/deletion support - 6, Buffer head implemented over cache pages - 7, Memory allocation optimization for flexible-size inodes - 8, Improve file deletion: don't grab global lock when deleting - 9, FIXME: return zero-content for sparse file gaps - 10, FIXME: check available spaces before blocks allocation - 11, FIXME: refresh stale root dir content after journal replay - 12, FIXME: incompatible dentry management for 64k block size - 13, FIXME: don't do journal replay for devices set as readonly - 14, FIXME: Win7 cmd.exe always reports file sizes as zero - 15, FIXME: Win7 memory throttling issue calling CcPinRead - 16, FIXME: Ext3Fsd Build issues (SLIST/div64 for Win2k, browser files) - 17, FIXME: Compiling test failure (fastio doesn't update i_size) - 18, FIXME: Possible Mcb memory leak for symbolic links - -40, V0.48: 2009-07-26 - -Modifications from V0.47: - - 1, Acronis TrueImage compatible issue solved: - Verified with Acronis True Image Home 2009. Also verified with - FreeOFTE 3.0, TrueCrypt 6.2a. - 2, Driver code-signed for Vista and Server 2008 - 3, Code improvements for FastIo routines and drive letter & mount - points management - -39, V0.47: 2009-06-01 - -Modifications from V0.46: - - 1, Bo Branten's 5+ patches merged, lots ifstest failures resolved - 2, Mount point automatic assignment for USB key and other removable - disks or removable media devices - -38, V0.46: 2008-05-24 - -Modifications from V0.46: - - 1, ext3 journal check and replay implemented. If the journal is - not empty ext2fsd will replay the journal and make the file - system consistent as an ext2 file system. - 2, flexible-inode-size supported. recent Linux are using 256-byte - inode that fails 0.45 and before to show all the files. - 3, FIXME: 2 minor issues that mislead EditPlus. EditPlus is always - trying to open any file with directory_only flag set to judge - whether the target is a directory or file, when the file isn't - a directory, the open request should be denied. But Ext2Fsd 0.45 - and before doesn't. Another issue is that ext2 file time on disk - has different precision against windows (1 second vs 100 nano - second), which causes EditPlus thinks the file is being changed. - 4, FIXME: a severe bug (likely happen on win2k system) which cause - dirty caches missed and slow down the whole system. - 5, many other minor changes: bulk block allocation/release, possible - inode allocation dead-loop when all inodes are used out, Ext2Mgr - win2k support, other performance improvements. - -37, V0.45: 2008-02-19 - -Modifications from V0.44: - - 1, set hidden attribute for all files starting with "." - 2, update cache window size when writing to file end - 3, reaper resources allocated during file creation - -36, V0.44: 2008-02-09 - -Modifications from V0.43: - - 1, Ext2Fsd: LastWriteTime/LastAccessTime update - 2, Ext2Mgr: Show driver/app versions in About dialog - -35, V0.43: 2008-02-01 - -Modifications from V0.42: - - 1, Ext2Fsd: hidden/system attribute handling - 2, Ext2Mgr: Added manifest to cope with UAC - -34, V0.42: 2008-01-26 - -Features implemented: - 1, Mountpoint auto mount/removal supported for removable disks - -33, V0.41: 2008-01-25 - -Modifications from V0.40: - -Bugs/Problems Fixed: - - 1, Some files couldn't be shown in explorer with utf8 codepage - 2, System always pops "device is busy" when removing USB disks - -Features implemented: - - 1, Ext2Fsd: Updated codepage encodings to latest Linux kernel - 2, Ext2Mgr: Added Chinese translation which is in high demand - Enhanced mountpoints management for removable devices - -32, V0.40: 2008-01-13 - -Modifications from V0.39 - -Bugs/Problems Fixed: - - 1, Directory inode isn't freed after directory deletion - 2, Retrieval pointers implemented for extents mapping - 3, Correct the handling of STATUS_CANT_WAIT. Vista's Cache - Manager often fails us on PingRead when copying bunch of - files/directories from ext2 volumes, and thus it results - in zero-data-content in copied files - 4, Optimize space allocation to minimize fragments - -31, V0.39: 2008-01-09 - -Modifications from V0.38 - - Bugs Fixed: - - 1, Disk space isn't released after deleting big files larger than - (BLOCK_SIZE * (12 + BLOCK_SIZE/4 + BLOCK_SIZE * BLOCK_SIZE / 16)) - That's 4,299,210,752 in case BLOCK_SIZE is 4096. - -30, V0.38: 2008-01-04 - -Modifications from V0.37 - - Bugs Fixed: - - 1, File block extents management improved to decrease CPU usage - 2, Re-queue request when cache manager can't prepare pages in time - 3, Possible deletion of it's hardlink entry when removing a file - 4, Prohibit to create file with same names to dead symlinks - 5, Wrong inode type in directory entry for symbol links - 6, Possible memory leak when failed to overwrite file - 7, Memory leak in Ext2FreeMcb, it's counted but not freed. - 8, Possible loss of inode/dentry update: Ext2WriteVolume might - miss the dirty windows with SECTOR_SIZE aligned borders - 9, SpinLock related routines shouldn't be resident in paged zone - 10, Possible lost of files in directory listing - -29, V0.37: 2007-12-25 - - Bugs Fixed: - - 1, files >=4G couldn't be copy&paste to ext2 volume, caused by a hardcode - limit in Ext2CreateFile - 2, failure of "No enough memory" when renaming files under directories - it likely happens when renaming files under subdirectory with Samba - or Linux kernel CIFS. - 3, possible deadlock in renaming with simultaneous access on the same file - 4, possible wrong entry (hardlinks) deletion instead of itself: it's - rare to happen but possible when renaming, moving or deleting files. - 5, entry management routines enhancement - 6, 64k-block support - -28, V0.36: 2007-12-22 - - Bugs Fixed: - - 1, BSOD caused by symlink pointing to itself or others - 2, bug in new inode allocation algorithm - 3, "." and ".." are treated as separate inodes - 4, remove unnecessary local variables to reduce stack - overflow chances especially for nested symlinks - 5, overall optimizations on block allocation/release/mapping - 6, non-consistent Mcb reference issue (broken by symlinks) - 7, memory leaks of BLOCK_DATA when expanding file - 8, buffer overflow in Ext2Printf only for checked build - 9, bug in handling exception of working cdroms ejection - - Features Newly Implemented: - - 1, remove the execute bit ('x') for all newly created files - 2, enhance memory reaper mechanism of all Xcbs (Fcb/Mcb) - 3, big block support (up to 32k) - 4, statistics of memory allocation / irp handling - - Ext2 Volume Manager: - - 1, crash with RAW disk (non-partitioned) - 2, wrong message box poped when setting service property - 3, more partition types recognized - 4, support memory/irp statistics - 5, keyboard handling, as convenient as using mouse - -27, V0.35: 2007-12-02 - - Bugs Fixed: - - 1, Corrected change notification message for renaming - 2, e2fsck i_size issue: Ext2SetInformation doesn't free - extra blocks when shrinking FileEndOfFileInformation - 3, BSOD with symlink since it's treated as a file - - Features Newly Implemented: - - 1, Symbolic link support on most operations but creating - 2, Property settings per volume, more flexible - 3, Hiding files with specified prefix and suffix - 4, Different implements on driver letter assignment - 5, CDROM support to mount CD/DVD burned in EXT2 format - 6, "Move and Replace (overwrite)" support - 7, Install Ext2Mgr as a service - -26, V0.31A: 2007-01-06 - - Bugs/Problems Fixed: - - 1, Disable the partition type changing, which causes linux could not boot - 2, Added the test-signature to AMD64 drivers for vista system - -25, V0.31: 2006-11-06 - - Bugs Fixed: - - 1, Wrong ERESOURCE referenced in Ext2DeleteFile - 2, Stale path name referenced for directory notification - 3, Codepage names inconsistent between Ext2Fsd and Ext2Mgr - - Features Newly Implemented: - - 1, Vista supported - -24, V0.30: 2006-10-21 - - Main Bugs Fixed: - - 1, Incorrect removable media support - 2, Wrong file size, timestamps reporting - 3, Some minor memory leaks - 4, Improper usage of ERESOURCE locking - 5, Wrong handling of some special I/O - 6, Incorrect codepage loading sequence - 7, Mke2fs is much improved - - Main Features Newly Supported: - - 1, Network sharing, Oplocks handling - 2, Ext2 Volume Manager (codepage, attributes) - -23, V0.25: 2005-07-27 - - Bug Fixed: - - 1, File allocation blocks are not freed when being deleted - 2, Other minor modifications on the program logics ... - - Features Newly Supported: - - 1, Floppy support implemented. - 2, Win64 (X86 64) support. - - -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 causes "Event" is invalid. - 2, Ext2InitializeVcb: Ext2Global->McbList is referred before initializing. - - Features Newly Supported: - - 1, Multi codepages supported - In registry, there'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, Removable 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 shutting 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 wild-cases 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 media player. - 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://www.ext2fsd.com. - - 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, Build this project, and ext2fsd.sys will be created. -2, Copy ext2fsd.sys to %system32%\drivers. -3, Import the ext2fsd.reg into your system registry. -4, After rebooting your machine, run "net start ext2fsd" at a dos shell. -5, Use mount/unmount tools to mount or unmount a disk partition. -6, You can unload ext2fsd from system with unload tool. - -After version 0.10, these is an easy way: - -1, Just run "Setup.bat" in "Setup" subdir for the first time. Then just - run "net start ext2fsd" in a dos shell to start the driver. - - After v0.23, you need specify your system version: - - setup 2k: to install ext2fsd for windows 200 - setup xp: to install ext2fsd for windows xp - - -2, Then you can mount the ext2 partitions without rebooting. - - -====================== - 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. +======================
+ About Ext2Fsd
+======================
+
+Ext2Fsd project is an ext2 file system driver for Windows (2000/2003/XP/7/8).
+
+It's a free software. Everyone can distribute and modify it under GNU GPLv2.
+
+======================
+ Author & Homepage
+======================
+
+Matt<mattwu@163.com>
+http://www.ext2fsd.com
+
+
+======================
+ 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
+======================
+
+45, V0.60: 2015-06-01
+
+Modifications from V0.53:
+
+
+ 1, Ext4 extent writing support (developed by ngkaho1234 @ gmail.com)
+ See his repository for more details:
+ http://github.com/ngkaho1234/Ext3Fsd.git
+ 2, Size manipulation and i/o path revised for support of indirect and
+ extent-based mappings
+ 3, 16T volume supported (tested and confirmed with 4T volume)
+ Version 0.53 and previous versions only support up to 2T volume
+ ticket: https://sourceforge.net/p/ext2fsd/bugs/134/
+ 4, Deletion acceleration: truncation optimized for indirect-based files
+ 5, Size-expanding disabled in IRP_MJ_CREATE for better performance.
+ Windows sometimes would truncate file size back to 0
+ 6, Support Volume exclusive-open for e2fsprogs utils. Any attempts
+ will be denied while EXT4 volume is being checked (e2fsck).
+ 7, FIXME: Possible zero-content returned (requesting data from file tail)
+ 8, FIXME: File ByteOffset updated for FO_SYNCHRONOUS_IO open (async i/o)
+ ticket: https://sourceforge.net/p/ext2fsd/bugs/133/
+ 9, FIXME: don't do byte or range round up for paging i/o requests
+ ticket: https://sourceforge.net/p/ext2fsd/bugs/129/
+ 10, FIXME: occasional block bitmap difference issue, cased by checksum
+ caculation in uninit_bg group initializing
+
+44, V0.53: 2014-08-25
+
+Modifications from V0.52:
+
+ 1, FIXME: BSOD with VHD/VHDX mounting on Win8
+ 2, FIXME: Mke2fs failed to format mounted EXT2 volumes
+ 3, Enable writing with global or volume ext3-force-writi
+ 4, Support ext4 dir hash (UNSIGNED cases for legacy/half
+ 5, Fixed several warnings reported by scan.coverity.com
+
+
+43, V0.52: 2014-05-10
+
+Modifications from V0.51:
+
+ 1, Feature: Windows 8 supported
+ 2, Feature: Force-writing supported
+ 3, FIXME: data loss with TeraCopy when moving directories
+ 4, FIXME: ATTO Disk Benchnmark fails with direct i/o tests
+ 5, FIXME: files become invisible with empty hidden pattens
+ 6, FIXME: possible hang with concurrent access attempts
+ upon the same file
+ 7, FIXME: BSOD due to pagable code sections
+
+42, V0.51: 2011-07-10
+
+Modifications from V0.50:
+
+ 1, FIXME: Data corruption issue, especially for multiple-thread
+ writing on XP system
+ 2, FIXME: Set ValidDataLength only for FileEndOfFileInformation
+ w/ AdvanceOnly
+ 3, Support writing to ext4 volumes w/ flex_bg
+ 4, Code cleanup and enhancement for global/volume property settings
+
+41, V0.50: 2011-02-01
+
+Modifications from V0.48:
+
+ 1, Ext4 extent readonly support by Bo Branten. Writing is
+ possible but with no size-extending
+ 2, Ext3 directory index (hash-tree) support
+ 3, Fast fsck (uninit_bg) and group block checksum support
+ 4, Ext4 64k block size support
+ 5, Symlink/special inodes open/read/deletion support
+ 6, Buffer head implemented over cache pages
+ 7, Memory allocation optimization for flexible-size inodes
+ 8, Improve file deletion: don't grab global lock when deleting
+ 9, FIXME: return zero-content for sparse file gaps
+ 10, FIXME: check available spaces before blocks allocation
+ 11, FIXME: refresh stale root dir content after journal replay
+ 12, FIXME: incompatible dentry management for 64k block size
+ 13, FIXME: don't do journal replay for devices set as readonly
+ 14, FIXME: Win7 cmd.exe always reports file sizes as zero
+ 15, FIXME: Win7 memory throttling issue calling CcPinRead
+ 16, FIXME: Ext3Fsd Build issues (SLIST/div64 for Win2k, browser files)
+ 17, FIXME: Compiling test failure (fastio doesn't update i_size)
+ 18, FIXME: Possible Mcb memory leak for symbolic links
+
+40, V0.48: 2009-07-26
+
+Modifications from V0.47:
+
+ 1, Acronis TrueImage compatible issue solved:
+ Verified with Acronis True Image Home 2009. Also verified with
+ FreeOFTE 3.0, TrueCrypt 6.2a.
+ 2, Driver code-signed for Vista and Server 2008
+ 3, Code improvements for FastIo routines and drive letter & mount
+ points management
+
+39, V0.47: 2009-06-01
+
+Modifications from V0.46:
+
+ 1, Bo Branten's 5+ patches merged, lots ifstest failures resolved
+ 2, Mount point automatic assignment for USB key and other removable
+ disks or removable media devices
+
+38, V0.46: 2008-05-24
+
+Modifications from V0.46:
+
+ 1, ext3 journal check and replay implemented. If the journal is
+ not empty ext2fsd will replay the journal and make the file
+ system consistent as an ext2 file system.
+ 2, flexible-inode-size supported. recent Linux are using 256-byte
+ inode that fails 0.45 and before to show all the files.
+ 3, FIXME: 2 minor issues that mislead EditPlus. EditPlus is always
+ trying to open any file with directory_only flag set to judge
+ whether the target is a directory or file, when the file isn't
+ a directory, the open request should be denied. But Ext2Fsd 0.45
+ and before doesn't. Another issue is that ext2 file time on disk
+ has different precision against windows (1 second vs 100 nano
+ second), which causes EditPlus thinks the file is being changed.
+ 4, FIXME: a severe bug (likely happen on win2k system) which cause
+ dirty caches missed and slow down the whole system.
+ 5, many other minor changes: bulk block allocation/release, possible
+ inode allocation dead-loop when all inodes are used out, Ext2Mgr
+ win2k support, other performance improvements.
+
+37, V0.45: 2008-02-19
+
+Modifications from V0.44:
+
+ 1, set hidden attribute for all files starting with "."
+ 2, update cache window size when writing to file end
+ 3, reaper resources allocated during file creation
+
+36, V0.44: 2008-02-09
+
+Modifications from V0.43:
+
+ 1, Ext2Fsd: LastWriteTime/LastAccessTime update
+ 2, Ext2Mgr: Show driver/app versions in About dialog
+
+35, V0.43: 2008-02-01
+
+Modifications from V0.42:
+
+ 1, Ext2Fsd: hidden/system attribute handling
+ 2, Ext2Mgr: Added manifest to cope with UAC
+
+34, V0.42: 2008-01-26
+
+Features implemented:
+ 1, Mountpoint auto mount/removal supported for removable disks
+
+33, V0.41: 2008-01-25
+
+Modifications from V0.40:
+
+Bugs/Problems Fixed:
+
+ 1, Some files couldn't be shown in explorer with utf8 codepage
+ 2, System always pops "device is busy" when removing USB disks
+
+Features implemented:
+
+ 1, Ext2Fsd: Updated codepage encodings to latest Linux kernel
+ 2, Ext2Mgr: Added Chinese translation which is in high demand
+ Enhanced mountpoints management for removable devices
+
+32, V0.40: 2008-01-13
+
+Modifications from V0.39
+
+Bugs/Problems Fixed:
+
+ 1, Directory inode isn't freed after directory deletion
+ 2, Retrieval pointers implemented for extents mapping
+ 3, Correct the handling of STATUS_CANT_WAIT. Vista's Cache
+ Manager often fails us on PingRead when copying bunch of
+ files/directories from ext2 volumes, and thus it results
+ in zero-data-content in copied files
+ 4, Optimize space allocation to minimize fragments
+
+31, V0.39: 2008-01-09
+
+Modifications from V0.38
+
+ Bugs Fixed:
+
+ 1, Disk space isn't released after deleting big files larger than
+ (BLOCK_SIZE * (12 + BLOCK_SIZE/4 + BLOCK_SIZE * BLOCK_SIZE / 16))
+ That's 4,299,210,752 in case BLOCK_SIZE is 4096.
+
+30, V0.38: 2008-01-04
+
+Modifications from V0.37
+
+ Bugs Fixed:
+
+ 1, File block extents management improved to decrease CPU usage
+ 2, Re-queue request when cache manager can't prepare pages in time
+ 3, Possible deletion of it's hardlink entry when removing a file
+ 4, Prohibit to create file with same names to dead symlinks
+ 5, Wrong inode type in directory entry for symbol links
+ 6, Possible memory leak when failed to overwrite file
+ 7, Memory leak in Ext2FreeMcb, it's counted but not freed.
+ 8, Possible loss of inode/dentry update: Ext2WriteVolume might
+ miss the dirty windows with SECTOR_SIZE aligned borders
+ 9, SpinLock related routines shouldn't be resident in paged zone
+ 10, Possible lost of files in directory listing
+
+29, V0.37: 2007-12-25
+
+ Bugs Fixed:
+
+ 1, files >=4G couldn't be copy&paste to ext2 volume, caused by a hardcode
+ limit in Ext2CreateFile
+ 2, failure of "No enough memory" when renaming files under directories
+ it likely happens when renaming files under subdirectory with Samba
+ or Linux kernel CIFS.
+ 3, possible deadlock in renaming with simultaneous access on the same file
+ 4, possible wrong entry (hardlinks) deletion instead of itself: it's
+ rare to happen but possible when renaming, moving or deleting files.
+ 5, entry management routines enhancement
+ 6, 64k-block support
+
+28, V0.36: 2007-12-22
+
+ Bugs Fixed:
+
+ 1, BSOD caused by symlink pointing to itself or others
+ 2, bug in new inode allocation algorithm
+ 3, "." and ".." are treated as separate inodes
+ 4, remove unnecessary local variables to reduce stack
+ overflow chances especially for nested symlinks
+ 5, overall optimizations on block allocation/release/mapping
+ 6, non-consistent Mcb reference issue (broken by symlinks)
+ 7, memory leaks of BLOCK_DATA when expanding file
+ 8, buffer overflow in Ext2Printf only for checked build
+ 9, bug in handling exception of working cdroms ejection
+
+ Features Newly Implemented:
+
+ 1, remove the execute bit ('x') for all newly created files
+ 2, enhance memory reaper mechanism of all Xcbs (Fcb/Mcb)
+ 3, big block support (up to 32k)
+ 4, statistics of memory allocation / irp handling
+
+ Ext2 Volume Manager:
+
+ 1, crash with RAW disk (non-partitioned)
+ 2, wrong message box poped when setting service property
+ 3, more partition types recognized
+ 4, support memory/irp statistics
+ 5, keyboard handling, as convenient as using mouse
+
+27, V0.35: 2007-12-02
+
+ Bugs Fixed:
+
+ 1, Corrected change notification message for renaming
+ 2, e2fsck i_size issue: Ext2SetInformation doesn't free
+ extra blocks when shrinking FileEndOfFileInformation
+ 3, BSOD with symlink since it's treated as a file
+
+ Features Newly Implemented:
+
+ 1, Symbolic link support on most operations but creating
+ 2, Property settings per volume, more flexible
+ 3, Hiding files with specified prefix and suffix
+ 4, Different implements on driver letter assignment
+ 5, CDROM support to mount CD/DVD burned in EXT2 format
+ 6, "Move and Replace (overwrite)" support
+ 7, Install Ext2Mgr as a service
+
+26, V0.31A: 2007-01-06
+
+ Bugs/Problems Fixed:
+
+ 1, Disable the partition type changing, which causes linux could not boot
+ 2, Added the test-signature to AMD64 drivers for vista system
+
+25, V0.31: 2006-11-06
+
+ Bugs Fixed:
+
+ 1, Wrong ERESOURCE referenced in Ext2DeleteFile
+ 2, Stale path name referenced for directory notification
+ 3, Codepage names inconsistent between Ext2Fsd and Ext2Mgr
+
+ Features Newly Implemented:
+
+ 1, Vista supported
+
+24, V0.30: 2006-10-21
+
+ Main Bugs Fixed:
+
+ 1, Incorrect removable media support
+ 2, Wrong file size, timestamps reporting
+ 3, Some minor memory leaks
+ 4, Improper usage of ERESOURCE locking
+ 5, Wrong handling of some special I/O
+ 6, Incorrect codepage loading sequence
+ 7, Mke2fs is much improved
+
+ Main Features Newly Supported:
+
+ 1, Network sharing, Oplocks handling
+ 2, Ext2 Volume Manager (codepage, attributes)
+
+23, V0.25: 2005-07-27
+
+ Bug Fixed:
+
+ 1, File allocation blocks are not freed when being deleted
+ 2, Other minor modifications on the program logics ...
+
+ Features Newly Supported:
+
+ 1, Floppy support implemented.
+ 2, Win64 (X86 64) support.
+
+
+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 causes "Event" is invalid.
+ 2, Ext2InitializeVcb: Ext2Global->McbList is referred before initializing.
+
+ Features Newly Supported:
+
+ 1, Multi codepages supported
+ In registry, there'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, Removable 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 shutting 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 wild-cases 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 media player.
+ 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://www.ext2fsd.com.
+
+ 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, Build this project, and ext2fsd.sys will be created.
+2, Copy ext2fsd.sys to %system32%\drivers.
+3, Import the ext2fsd.reg into your system registry.
+4, After rebooting your machine, run "net start ext2fsd" at a dos shell.
+5, Use mount/unmount tools to mount or unmount a disk partition.
+6, You can unload ext2fsd from system with unload tool.
+
+After version 0.10, these is an easy way:
+
+1, Just run "Setup.bat" in "Setup" subdir for the first time. Then just
+ run "net start ext2fsd" in a dos shell to start the driver.
+
+ After v0.23, you need specify your system version:
+
+ setup 2k: to install ext2fsd for windows 200
+ setup xp: to install ext2fsd for windows xp
+
+
+2, Then you can mount the ext2 partitions without rebooting.
+
+
+======================
+ 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.
|