Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matt-wu/Ext3Fsd.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Wu <matt@ext2fsd.com>2015-06-01 10:32:27 +0300
committerMatt Wu <matt@ext2fsd.com>2015-06-01 10:32:27 +0300
commit1b8869eba5c217dce203be3e5bb3b53bbf2d8b1b (patch)
tree89490a61f1521d797d8eb2f49bcd2e075d074061
parentb8569de3168b1360583982e96b917d23df02e288 (diff)
Version 0.60: Release notes updatedExt3Fsd-0.60
-rwxr-xr-xExt3Fsd/notes.txt107
-rwxr-xr-xExt3Fsd/readme.txt1166
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.