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 https://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