"SfR Fresh" - the SfR Freeware/Shareware Archive 
Member "HISTORY.TXT" of archive fsdext2.zip:
As a special service "SfR Fresh" has tried to format the requested source page into HTML format using source code syntax highlighting with prefixed line numbers.
Alternatively you can here view or download the uninterpreted source code file.
That can be also achieved for any archive member file by clicking within an archive contents listing on the first character of the file(path) respectively on the according byte size field.
1 Version 0.17
2 ============
3 * Implemented QUERY8.3
4 Query8.3 returns pure 8.3 path components for a given filename which
5 may contain mixed (long filename and 8.3) path elements.
6 This allows you start a win16 app by double clicking an icon with a long
7 filename attached (explorer will use Query8.3 to get a pure
8 8.3 filename understood by the win16 applocation)
9 * Implemented QUERYLONG_DIR
10 Querylong_dir returns pure LFN path components for a given filename which
11 may contain mixed (long filename and 8.3) path elements.
12 This allows you to change directory on the command prompt using
13 8.3 filenames. Command.com will query the long filename and display that.
14 So, "cd \long_~11" will result in "q:\lost+found" as current prompt.
15 * A space character is invalid in win16/dos apps, they are also
16 converted to a _ character
17 * Fixed bug in opening dot files (.elmrc etc)
18 * Added a "relax" option (/r on the mount command line). This will
19 force fsdext2 to skip the partition ID check in mounting.
20 * If no drive letter is given on the mount's command line, it will
21 use the first available drive (if any).
22 * fixed bug in following links as cyclic links will crash the machine.
23 Fixed it by imposing a limit on the depth of symbolic name resolving.
24 * Allowed special files (block devices, character devices, pipes,
25 named sockets and sym. links) to be opened for reading. Applications
26 will read a onle line message such: Block device, major 23, minor 12
27 * Allowed partitions to be unloaded via a /u option. For
28 example: "mount /u h:". Unloading is quite safe as fsdext2 will keep
29 track of the number of open files and whether or not it is currently
30 handling file system calls.
31 * Added copyright statement and licence agreement.
32
33
34 Version 0.16
35 ============
36 * support for FS_ENUMHANDLE (yet another way for an application
37 to retrieve a file's attributes!). This caused cygnus' "ls" to
38 display incorrect time/attributes for files.
39 * work-around for the following win95 feature:
40 If you type "dir \etc\pass*" then IFSMgr translates this
41 into "dir \etc\pass*.*" --> we don't see \etc\passwd
42 Solution: if there is a wildcard (* or ?) just before a dot or
43 just after it, the dot is replaced by a ? (match any character)
44 This is also the reason why "grep foo *" failed to search in
45 files without an extention.
46 * _all_ file system calls will use case insensitive filename
47 matching (up until this version this was only done for findfirst/findnext
48 calls). First a case sesnsitive (absolute match) will be tried, if that
49 fails, a case insensitive match is tried.
50
51
52
53 Version 0.15
54 ============
55 * Fixed Fs_FileDateTime which not gave back the
56 last_modified timestamp of an open file (caused copy/xcopy
57 to fail)
58 * Fixed Fs_Seek which could not seek from END (caused pkzip
59 to fail uncompressing a file)
60 * fixed bug in pattern matching
61 * fixed bug in debug version which caused win95 to hang
62 upon shutdown/reboot
63
64
65 Version 0.14
66 ============
67 * fixed bug in TSD which incorrectly assigned the startsector
68 of all ext2fs partitions in an extended partition to the
69 startsector of the first ext2fs partition in that extended
70 partition. This caused f.e. hda7 and hda8 to be mapped on
71 hda5.
72 * made debug level dynamically configurable
73 * made ffirst/fnext calls perform case-insensitive file
74 name matching
75 * fixed memory leak in ffirst
76 * in ffirst/fnext calls, --> don't allow symbolic links
77 to be followed to directory entries due to possible recursion
78 For example, /etc/inet is usually a sym. link to /etc (or . ?).
79
80
81
82
83
84 Version 0.13
85 ============
86 * Changed the init order of the FSD --> IFSMgr routes mount
87 requests to us first, prevent the FSD to crash in Win95
88 OEM2 (to be deteremined 15/06/97, one beta tester has succeeded)
89 * changed layout when printing the partition table
90 * fixed bugs in FileSeek and FileClose
91 * fsdext2 return device name for directory label
92 * fixed bug in FsdVolInfo
93 * changed ffirst/fnext to return the device name as label
94
95
96 Version 0.12
97 ============
98 * Changed the IOS registration which should prevent the FSDEXT2
99 to crash in Win95 OEM2 (to be deteremined 17/02/97)
100 * Allowed to follow links
101
102
103
104 Version 0.11
105 ============
106 * Fixed partition handling
107 * Fixed bug in ReadFile which causes always the first block
108 to be read in a multiple-block read
109
110
111 Version 0.1
112 ===========
113 * Initial version including block cache and directory entry
114 cache.
115 * Read only.
116
117
118
119
120
121
122 KNOWN "BUGS"
123 =========================
124 * BUS master IDE device drivers will fail.
125 * someone reported that his linux partition was marked as 93h
126 (instead of the usual 83h). As a result fsdext2 wouldn't mount it.
127 It could be due to the fact that lilo is installed on that partition.
128 * There is a memory leak in 8.3 findfirst/findnext calls
129 (FindContext cannot be passed as a pointer to SearchFile)
130 * Failing a mount will not disassociate the drive letter.
131 * Sometimes FSDEXT2 reports EIDE drives as being SCSI drives.
132 * There seems to exists something like extended linux partitions
133 (id=85h). Have to get more info on this one.
134 * After the unload support I noticed that most time the inode table
135 and block table are not empty after unloading a partition. I'm not
136 sure the above mentioned leak in the 8.3 ffirst/fnext call account
137 for all of these inodes and blocks haning around.
138
139
140
141 THINGS THAT WILL NEVER (SEEMS TO) WORK
142 ======================================
143 * you cannot open files whose filename starts with a dot (f..e, ~/.elmrc)
144 from a dos/win16 application. Win32 applications work fine. You can
145 always use the "converted" filename of cource (_ELMRC)
146 * Cygnus' "ls" still displays the wrong time stamps for directory
147 entries, but so does it on my normal FAT and CD-ROM partitions.
148 This seems to be a bug in "ls" I think.
149 * On systems using two IDE controllers with each of them having
150 one HD attached, FSDEXT2 names the second disk "hdb" instead of "hdc"
151 There is no easy way (as a matter of fact I don't even know a
152 difficult way:-)) to retrieve this controller information in win95.
153 Eventhough there are plenty fields in the DCB structure which
154 indicate controller info, using a debugger I noticed that these
155 fields are not set for my three IDE drives.
156 * I'd like to return the name of the file system (i.e., "ext2fs")
157 a LEVEL 2 query. However, if I do so, Win95 will search for
158 it as a label using ffirst/fnext. Since "ext2fs" does not exist
159 as a label these calls will fail. But then I cannot start a
160 program from the Linux drive, that is, if the current dir. is
161 g:\tmp" I cannot start "edit.com".
162
163
164 TODO LIST:
165 ==========
166 * fix these TBlock and TInode "leaks"
167 * fix hasfunc for objectname
168 * cleanup block module
169 * cleanup inode module
170 * consider the leave the mutex in BlkGetBlock before
171 * reading the block from disk
172 * allow recursive mounts
173 * link superblocks together
174 * asynchronous read
175 * read ahead
176 * honour the inode flags (secure delete etc)
177 * sanity checks for dir entries
178 * sanity checks for descriptors in superblock
179 * disk paramaters over all mounted file systems
180 (after recursive mounts)
181 * configurable caches
182