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