re: Re: LBAcache devel BUGFIX and improved release

Eric Auer <[email protected]> Mon, 11 Nov 2002 12:23:50 +0100 (MET)
Newsgroups gmane.os.freedos.devel
Message-ID <[email protected]>
Hi, thanks to a hint from Bart, I could update LBAcache
(the devel version, still lbacache-11nov02.zip on
http://www.coli.uni-sb.de/~eric/stuff/soft/ )
to now PROPERLY resize instances where removing completely does
not succeed. I had found out that those instances VANISH with all
OLD versions of LBAcache that try to resize them, which breaks
int 0x13 and therefore crashes your system.

Luckily, this only happens when you have loaded TWO instances or
more of LBAcache, or have loaded another disk driver after LBAcache.
By the way, if you use LBAcache.sys, you are probably not affected:
You cannot easily resize .sys driver memory (I think), so in
the .sys case, LBACACHE STOP only frees the XMS memory but not
the DOS memory.
When you use only one instance of LBAcache, the .com version
can be completely removed from RAM by LBACACHE STOP, which has
not caused problems even in old versions.

Here the trick again: At the moment you resize a memory block,
DOS makes the block owned by yourself. So LBAcache pretends
to be part of the LBAcache instance which it tries to resize
(int 21.50 and 21.62) to avoid the ownership change. Later, it
"becomes itself again", because when LBAcache STOP is done and
returns to the prompt/caller, all memory owned by it will be
freed. This is also the reason for the crashing behaviour in
older versions. Sigh.

All the other improvements as compared to the version of yesterday
also hold. I have now REMOVED the "redirectability of screen
output" compatibility patch again. If you want to
LBAcache ... > logfile
or
LBAcache ... | more
then you must use a kernel that does not have the bug. Bart has
patched kernel 2027. The CVS version is updated. Sorry for putting
a version with no reference to the sources online (of the kernel),
remind me to remove this from by-others/ when a corrected ke2027*.zip
(binary) is online.

Dowload of the current LBAcache:
http://www.coli.uni-sb.de/~eric/stuff/soft/ lbacache-11nov02.zip

Thanks for updating.

PS: THe performance improvement (use XMS more efficiently) still is
not implemented. Will be soon.

Eric