Menu

#36 Large file deletion fails in exciting ways

v3.3.1
open
nobody
None
5
2020-05-26
2020-05-26
No

Deleting files that cross a $x000 cluster boundary seems to be broken in the latest NitrOS9, and may have been broken for a very long time.

I have an uncompressed .ar file, 'cococ.ar', that's about 2 megabytes in size. I use it to move up-to-date C source code from my Linux system to my virtual CoCo hard disks. When I delete the archive from the disk, the system mostly locks up -- that is, the "delete" command never finishes and no programs can be run, though things like CLEAR to change windows usually still functions normally.

When I issue the command "del cococ.ar", the directory entry is marked deleted as expected, and the allocation map is updated...but it seems to stop updating the disk allocation map at the next $x000 cluster boundary.

On the disk, the file starts at cluster $189C and goes all the way to cluster $5A80, and is referenced in LSNs 4-12. The deletion succeeds up to the end of LSN 4, which describes clusters $1800-$1FFF, and then nothing further works.

The exact same file, when located on an otherwise-empty disk on most machines I (and others) have tried it on, will immediately crash the OS.

1 Attachments

Discussion

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB