[net.micro.mac] Mods to the Mac-Plus Write-Thru Cache?

harrow@exodus.dec.com (Jeff Harrow, NCSE LKG1-3/F16 DTN=226-7445) (10/17/86)

I believe that we have finally put to rest the confusion about the
Mac-Plus Control Panel Cache:  It is **NOT** write-thru.  Hence you **DO**
risk that in a crash situation, files which you THOUGHT were safe (you
SAVEd them) can really be left in an un-updated, or even corrupt state.

I still don't understand why Apple would choose this dangerous type oc
cache when the Mac usually defaults to the safest mode (yes, non-write thru
IS faster, but so is not asking a user if he wants to save a modified
document when he quits the application...).

Now for my question:  Since Apple didn't even offer the OPTION of choosing
safety over speed (a radio button to show a DEFAULT of write-thru, with
the OPTION of non-write-thru), has anyone figured out a SAFE patch to the
cache code to make this non-write-thru cache into a write-thru one?

Jeff Harrow

dgold@apple.UUCP (David Goldsmith) (10/18/86)

In article <6009@decwrl.DEC.COM> harrow@exodus.dec.com (Jeff Harrow, NCSE LKG1-3/F16 DTN=226-7445) writes:
>I believe that we have finally put to rest the confusion about the
>Mac-Plus Control Panel Cache:  It is **NOT** write-thru.  Hence you **DO**
>risk that in a crash situation, files which you THOUGHT were safe (you
>SAVEd them) can really be left in an un-updated, or even corrupt state.
>

Although this has been discussed on the network before, I'll try to clarify
the situation.

Although it IS true that the Mac Plus cache is not write-through, it is NOT
true that files you thought you saved may be corrupted.  After completing any
operation such as a save, application are supposed to call the File Manager
routine FlushVol.  This updates the volume directory and FLUSHES THE CACHE.
The requirement that applications call FlushVol after Save and similar
operations is not a new one; it has been present since day one and for MFS as
well as HFS volumes.  Even before there was a Control Panel cache there were
volume directory caches which needed to be flushed by FlushVol.

To summarize, if your application is written correctly (i.e., calls FlushVol
at the appropriate times), your data is safe whether the cache is on or not.
If it doesn't call FlushVol correctly, your data may not be safe, whether
the cache is on or not.  I've been using the cache for about a year now and
have never lost any data because of it, despite some pretty spectacular
crashes.

David Goldsmith
Apple Computer, Inc.
Development Systems Group

UUCP:  {nsc,dual,sun,voder,ucbvax!mtxinu}!apple!dgold
CSNET: dgold@apple.CSNET, dgold%apple@CSNET-RELAY