mirror of https://github.com/FDOS/kernel.git
Remove obsolete file relnotes.txt
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@531 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
parent
080d1dd883
commit
faf982adc1
|
@ -1,177 +0,0 @@
|
||||||
Release notes for kernel 2024d and its development predecessors
|
|
||||||
2024BL,M,N: we think that by now we have ironed out most of these
|
|
||||||
bugs, but be careful nonetheless.
|
|
||||||
|
|
||||||
About KE2024BL:
|
|
||||||
|
|
||||||
*********************************************************
|
|
||||||
* *
|
|
||||||
* THIS IS A BETA RELEASE *
|
|
||||||
* *
|
|
||||||
* BE CAREFUL *
|
|
||||||
* *
|
|
||||||
* SAVE YOUR DATA. SAVE OFTEN. *
|
|
||||||
* *
|
|
||||||
* THIS RELEASE MAY DESTROY YOUR DISK COMPLETELY *
|
|
||||||
* *
|
|
||||||
*********************************************************
|
|
||||||
|
|
||||||
|
|
||||||
KE2024BL introduced full LBA support; i.e. disk may be up to
|
|
||||||
2^32 * 512 bytes = 2000 GB large.
|
|
||||||
|
|
||||||
also new is the working of 64K FAT clustersize for a max
|
|
||||||
logical disksize of 2^16 * 64K = ~4 GB.
|
|
||||||
|
|
||||||
KE2024BM is its follower, with some more bugfixes.
|
|
||||||
|
|
||||||
|
|
||||||
How dangerous is it?
|
|
||||||
|
|
||||||
The KE2024BL kernel has been send by private mail to some of us,
|
|
||||||
has been tested on 7 maschines with and without LBA support.
|
|
||||||
|
|
||||||
No errors (other then the known bugs) were reported.
|
|
||||||
And KE2024BM is pretty conservativ, before it accepts and uses
|
|
||||||
a disk.
|
|
||||||
|
|
||||||
the main problem may be, that a disk recognized by an older
|
|
||||||
kernel, will no longer work with the new one, because strange
|
|
||||||
partitioning scemes, although nothing like that has been reported.
|
|
||||||
|
|
||||||
So, if after booting you see all your drives, containing resonable
|
|
||||||
data, it should be pretty save to use.
|
|
||||||
|
|
||||||
Be a bit careful, nevertheless.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
full LBA support and 64K FAT clustersize for a max
|
|
||||||
logical disksize of 2^16 * 64K = ~4 GB
|
|
||||||
|
|
||||||
|
|
||||||
were have been tested in the following way:
|
|
||||||
|
|
||||||
on my 30GB disk, a partition with 1.7 GB for 32K clusters and
|
|
||||||
3.5 GB for 64K clusters created. the 3.5 GB partition was created,
|
|
||||||
using Win2K.
|
|
||||||
|
|
||||||
my WINNT directory (~350MB) was copied there - (using VC)
|
|
||||||
once for 32K,
|
|
||||||
for 64K,
|
|
||||||
xcopy c:\WINNT j:\WINNT /s
|
|
||||||
xcopy j:\WINNT j:\WINN1 /s
|
|
||||||
xcopy j:\WINN1 j:\WINN2 /s
|
|
||||||
xcopy j:\WINN2 j:\WINN3 /s
|
|
||||||
xcopy j:\WINN3 j:\WINN4 /s
|
|
||||||
to fill the disk.
|
|
||||||
|
|
||||||
|
|
||||||
the 350 MB files (WINNT for 32K, WINN4 for 64K) were then
|
|
||||||
compared to the original file. they were identical.
|
|
||||||
|
|
||||||
no, not all files were copied due to restrictions in MAX_PATH_SIZE,
|
|
||||||
but the files, that were copied, compared ok.
|
|
||||||
|
|
||||||
the files were also readable with WinNT, and they were identical, too.
|
|
||||||
WinNT chkdsk was content with the disk.
|
|
||||||
|
|
||||||
|
|
||||||
next, the kernel source was copied to this drive, compiled,
|
|
||||||
and verified.
|
|
||||||
|
|
||||||
so, it _seems_ to work for me.
|
|
||||||
|
|
||||||
known issues:
|
|
||||||
* VC will say, that the disk has size of 0 byte, with 0 byte free.
|
|
||||||
this is not a kernel bug.
|
|
||||||
VC simply multiplies BytesPerSec*SecPerCluster, gets
|
|
||||||
128*512 = 0x10000, and saves the low part, which is 0.
|
|
||||||
|
|
||||||
* the behaviour for filesize at or above 2GB (where the sign
|
|
||||||
gets negative) is completely untested. test it, if you like
|
|
||||||
|
|
||||||
* there are some bugs, when the pathlength is around 64.
|
|
||||||
this may lead to incontinent (sorry, inconsistent) behaviour,
|
|
||||||
like
|
|
||||||
you can MKDIR a directory, but not CHDIR to it
|
|
||||||
and similiar things.
|
|
||||||
some of them found and removed, but there are probably more
|
|
||||||
to be found yet. fortunately, none lead to data loss :-)
|
|
||||||
|
|
||||||
|
|
||||||
*********************************************************
|
|
||||||
* *
|
|
||||||
* BE CAREFUL *
|
|
||||||
* AND SAVE YOUR DATA. SAVE OFTEN. *
|
|
||||||
* *
|
|
||||||
*********************************************************
|
|
||||||
|
|
||||||
|
|
||||||
Bugs and fixes in the FAT filesystem (tested on KE2024BN)
|
|
||||||
|
|
||||||
---------------------------------------------------------
|
|
||||||
KE2024BM:
|
|
||||||
Disk Full not detected in a compatible way.
|
|
||||||
it was possible to create a directory(pointing to nowhere),
|
|
||||||
even if disk was full.
|
|
||||||
|
|
||||||
---------------------------------------------------------
|
|
||||||
DosGetFreeSpace is wrong (verified on KE2022, too):
|
|
||||||
|
|
||||||
when creating files, the 2nd and following clusters are
|
|
||||||
counted twice when created.
|
|
||||||
|
|
||||||
simply copy one file to another, delete 2nd file;
|
|
||||||
watch free space before and after.
|
|
||||||
corrected in KE2024BP
|
|
||||||
|
|
||||||
---------------------------------------------------------
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <io.h>
|
|
||||||
main()
|
|
||||||
{
|
|
||||||
FILE *fd = fopen("test.dat","w");
|
|
||||||
int fdn = fileno(fd);
|
|
||||||
|
|
||||||
lseek(fdn,10000,SEEK_CUR);
|
|
||||||
write(fdn,"hello world",10);
|
|
||||||
}
|
|
||||||
|
|
||||||
creates file of DirSize 10010 bytes, but reserves
|
|
||||||
a single FAT entry cluster
|
|
||||||
|
|
||||||
this is obviously nonsense.
|
|
||||||
|
|
||||||
and there is no "hello world" in it :-(
|
|
||||||
|
|
||||||
cured by FATFS.C,
|
|
||||||
/* Now that we've found a free FAT entry, mark it as the last */
|
|
||||||
/* entry and save it. */
|
|
||||||
/* BUG!! this caused wrong allocation, if file was created,
|
|
||||||
then seeked, then written */
|
|
||||||
+ fnp->f_cluster =
|
|
||||||
fnp->f_dir.dir_start = free_fat;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
--------------------------------------------------------------
|
|
||||||
when a big file is created, and cut afterward, the filespace is NOT freed
|
|
||||||
try:
|
|
||||||
copy command.com xx
|
|
||||||
dir
|
|
||||||
echo >xx
|
|
||||||
dir
|
|
||||||
and compare disk free info.
|
|
||||||
the space is freed, however, if xx is deleted after that.
|
|
||||||
--------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
regards
|
|
||||||
tom ehlert (tom.ehlert@ginko.de)
|
|
Loading…
Reference in New Issue