ProFile: "Disk Full" Possible Causes and Fixes

An enhanced Apple IIe and ProFile 5MB hard disk is getting consistent Disk Full
errors in an Applesoft BASIC program under ProDOS 8 1.8 and BASIC.SYSTEM 1.4.
The errors have been increasing in frequency such that they happen two and
three times per day. (They happened two or three times per year previously.)
The hard disk is only 15% full, and two ProDOS volume checker programs (Mr.
Fixit by Glen Bredon, and BagOfTricks2 by Quality Software) report no errors on
the volume. The interface card has the new ROM, part number 341-0299.

System Configuration
AuxSlot: Apple Extended 80-Column Card
Slot 1: empty
Slot 2: Apple Super Serial Card
Slot 3: empty
Slot 4: empty
Slot 5: Applied Engineering TimeMaster II H.O. (clock card)
Slot 6: Apple DuoDisk Controller
Slot 7: Apple ProFile Interface

The program lines that generate the error are always PRINT statements that are
printing data to an open ProDOS sequential text file. There is nothing unusual
about the method used; that is, OPEN, WRITE, PRINT, CLOSE.

Can you pinpoint the probable cause of this problem? Could it be a problem in
BASIC.SYSTEM 1.4, or a ProFile or controller hardware problem, or something in
the 341-0299 ROM?

This article has been archived and is no longer updated by Apple.
We doubt that there is a problem with the hardware. It seems to be related to
the way things are handled on the ProFile disk under ProDOS 8. Here are some
possible causes:

- Even though the error message deals with disk space, it actually may be that
the directory is full; that is, there is no space for additional file entries
in the disk directory. This would be especially true in a system that stores
many small files.

- ProFiles "spare out" any bad blocks found by its startup procedure. If all
of the available blocks have been spared out and another block needs a spare,
an error stating that the disk is full might be reported. In this instance,
all spare blocks have used and no more are available, creating a form of disk
full. The ProFile has only 32 spare blocks for use. Once used, the ProFile
does not allocate any additional spare blocks.

- With many small files being written and rewritten to the ProFile,
fragmentation can occur more quickly than if a few large files are used.
With a heavily-fragmented disk, a "Disk Full" message might occur.

Some possible solutions have been suggested:

- If you have the Pascal "Crunch" utility, run this utility against the ProFile
to resolve possible fragmentation of the drive.

- Use more subdirectories inside subdirectories to help slow the filling of
directory entries.

- Do a file-by-file backup of the ProFile. Then reformat and restore the files
to the ProFile.

Published Date: Feb 18, 2012