From 1b8869eba5c217dce203be3e5bb3b53bbf2d8b1b Mon Sep 17 00:00:00 2001 From: Matt Wu Date: Mon, 1 Jun 2015 15:32:27 +0800 Subject: Version 0.60: Release notes updated --- Ext3Fsd/notes.txt | 107 ++--- 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 -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 +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 -http://www.ext2fsd.com - - -====================== - Credits -====================== - -Here, I owe all my thanks to Bo Branten 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" - 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 +http://www.ext2fsd.com + + +====================== + Credits +====================== + +Here, I owe all my thanks to Bo Branten 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" + 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. -- cgit v1.2.3