[comp.sys.apple] Directory trashed by GS/OS. HELP!!!

rankins@zaire.crd.ge.com (raymond r rankins) (11/21/89)

In article <8911202203.AA06213@apple.com> ST802148@BROWNVM.BROWN.EDU (Evan) writes:
>ARGH! A directory on my hard drive has failed and I really don't want to have t
>o redo the entire drive. Does anyone know of how to use Block Warden to fix a d
>irectory, or maybe some other way? I used Mr. fixit, but it ships over it sayin
>g Directory Too Large.  HELP!

HELP ME TOO!!  I just ran into a similar problem myself.  I was deleting a
folder in the finder and it hung while it was emptying the trash can.  After
rebooting, GSOS said that the whole partition was not initialized.  (Of course,
I clicked on eject instead of initialize).  Mr.Fixit fixed one problem,
but skips over a "Block in use" error for one of the subdirecties of the
directory I was trying to delete.  

Fortunately, I was able to use Cat.Doctor to copy off most of the important
files I had on the disk (What's most frustating, is that I was cleaning up
the disk in preparation for backing it up).  Well, one of the directories
I want to copy off causes Cat.Doctor to return:

			MLI error: $4A - Incompatible file type

when I try to do anything on the directory.  What does this mean?
Can this be fixed with Block Warden, or could someone tell me how to at
least get a list of what's in the directory?  (it's a bunch of files that
I just downloaded from America Online, so I could always download them again
if I could remember what all of them were).  

This is not the first time that GS/OS hung while I was deleting files in the 
finder (actually, I think it occured before when I was deleting a folder).  Has
anyone else experienced any similar problems?  I think I'll get rid of the
ram cache (800k) I have set in GSOS because I've heard that a disk can
get trashed if the system fails and a disk update is in progress in the
ram cache.  If the problems I am having are a result of the ram cache, it
doesn't seem as though the little bit of speed increase is worth a possible
trashed disk.  Is there any why to recover gracefully if the system hangs
during a disk update?

Also, why can Prodos 8 read my disk (except for the bad dirs), but GSOS won't
read it at all?

Thanks for any help,
Ray
---


Ray Rankins          |  (518) 387-7340  | INTERNET: rankins@zaire.crd.ge.com
2 Moonglow Rd.       |  (518) 583-3320  | COMPUSERVE: 71131,3236
Gansevoort, NY 12831 |                  | AmericaOnline: RayRankins
<insert standard disclaimer here>

mattd@Apple.COM (Matt Deatherage) (11/22/89)

In article <3955@crdgw1.crd.ge.com> rankins@zaire.crd.ge.com (raymond r rankins) writes:
>
>Well, one of the directories
>I want to copy off causes Cat.Doctor to return:
>
>			MLI error: $4A - Incompatible file type
>
>when I try to do anything on the directory.  What does this mean?
>Can this be fixed with Block Warden, or could someone tell me how to at
>least get a list of what's in the directory?  (it's a bunch of files that
>I just downloaded from America Online, so I could always download them again
>if I could remember what all of them were).  
>
Glen's error message has caused more confusion that necessary.  The error
means incompatible STORAGE type.  It means you're trying to delete a file with
more than one fork (an extended file) from ProDOS 8, which doesn't know
how to do that.  P8 only knows how certain kinds of files (seedling, sapling,
tree, directory) are "constructed" on disk, and it politely refuses to deal
with other kinds of files to prevent it from doing something stupid.

>I think I'll get rid of the
>ram cache (800k) I have set in GSOS because I've heard that a disk can
>get trashed if the system fails and a disk update is in progress in the
>ram cache.  
>
ACK!  ACK!  ACK!

It is true that if the disk cache is corrupted while a "session" is in progress,
things could get in serious trouble.  However, unless you have a misbehaving
DA or INIT, this isn't too likely.

However, 800K is *way too much* memory to be spending on a disk cache.  Under
normal circumstances, directory blocks are all that's in the cache anyway
(it's not wise to blindly cache everything you read, see GS/OS Technical Note
#3 for more details).  GS/OS is smart enough not to allocate 800K, only as 
needed, but a 32K or 64K maximum cache size should keep most systems flowing
smoothly.

>Also, why can Prodos 8 read my disk (except for the bad dirs), but GSOS won't
>read it at all?
>
The ProDOS file system has a lot of checks, balances and cross-checks to insure
data (and directory) integrity.  Backwards links, forwards links, version
numbers (now no longer there), etc.  ProDOS 8 has never used most of them, but
the ProDOS FST does.  If the FST finds these things messed up, it returns
error $51 and/or displays "Volume /XXX may be damaged."  ProDOS 8, which doesn't
check, will happily use the disk anyway, perhaps causing creeping errors
because something isn't quite right.

BTW, you can use ProSEL 16's utilities to deal with these things from GS/OS -
it will copy extended files.

>Ray Rankins          |  (518) 387-7340  | INTERNET: rankins@zaire.crd.ge.com
>2 Moonglow Rd.       |  (518) 583-3320  | COMPUSERVE: 71131,3236
>Gansevoort, NY 12831 |                  | AmericaOnline: RayRankins

-- 
-----------------------------------------------------------------------------
Matt Deatherage, Apple Computer, Inc. | "The opinions expressed in this tome
Send PERSONAL mail ONLY (please) to:  | should not be construed to imply that
Amer. Online: Matt DTS                | Apple Computer, Inc., or any of its
ThisNet: mattd@apple.com              | subsidiaries, in whole or in part,
ThatNet: (stuff)!ames!apple!mattd     | have any opinion on any subject."
Other mail by request only, please.   | "So there."
-----------------------------------------------------------------------------

rankins@zaire.crd.ge.com (raymond r rankins) (11/22/89)

In article <36691@apple.Apple.COM> mattd@Apple.COM (Matt Deatherage) writes:
>In article <3955@crdgw1.crd.ge.com> rankins@zaire.crd.ge.com (raymond r rankins) writes:
......
>>Can this be fixed with Block Warden, or could someone tell me how to at
>>least get a list of what's in the directory?  (it's a bunch of files that
>>I just downloaded from America Online, so I could always download them again
>>if I could remember what all of them were).  
>>
>
>BTW, you can use ProSEL 16's utilities to deal with these things from GS/OS -
>it will copy extended files.
>-----------------------------------------------------------------------------
>Matt Deatherage, Apple Computer, Inc. | "The opinions expressed in this tome

Thanks for the info Matt.  At least I have an idea what's going on now.  
Unfortunately, I don't yet have Prosel 16, only Prosel 8.  (I've been
planning on getting Prosel 16, but I'm short the $60 right now).  Any thoughts 
on how I might recover in the meantime?  I'd be perfectly happy with just
being able to get a list of the files that were in the directory.  If I search
on the directory name with Block Warden, will that help me find them?

BTW, what is an extended file, and how was it generated?  All my other 
directories I've created recently on the disk are standard DIR type files
that P8 handles fine.  Any way to make them non-extended?

Thanks,
Ray
Ray Rankins          |  (518) 387-7340  | INTERNET: rankins@zaire.crd.ge.com
2 Moonglow Rd.       |  (518) 583-3320  | COMPUSERVE: 71131,3236
Gansevoort, NY 12831 |                  | AmericaOnline: RayRankins
<insert standard disclaimer here>

blochowi@rt4.cs.wisc.edu (Jason Blochowiak) (11/23/89)

In article <36691@apple.Apple.COM> mattd@Apple.COM (Matt Deatherage) writes:
>In article <3955@crdgw1.crd.ge.com> rankins@zaire.crd.ge.com (raymond r rankins) writes:
>> [About his thrashed directory & Cat.Doctor]
>>I think I'll get rid of the
>>ram cache (800k) I have set in GSOS because I've heard that a disk can
>>get trashed if the system fails and a disk update is in progress in the
>>ram cache.  
>ACK!  ACK!  ACK!
>It is true that if the disk cache is corrupted while a session is in progress,
>things could get in serious trouble.  However, unless you have a misbehaving
>DA or INIT, this isn't too likely.

	Does GS/OS now verify the cache's integrity? Perhaps it'd be too
expensive to do all the time, but how about a "paranoia" bit in the system
preferences word (or is it a longword? whatever...) for those of us that
write programs that occasionally write to various parts of memory by
accident?

	Also, why is it that only a session could cause trouble? If a block is
cached, and then nuked by some entity residing in the machine, and then GS/OS
requests the block, sees that it's in memory, uses the data (and only changes
a little bit of it), and then writes the block back, then the file contents
(or the directory contents - assuming the damage wasn't so bad that GS/OS
barfed on the contents) would be toasted. Besides, DAs and Inits are the only
programs to make mistakes, so it would seem that an application could toast
the cache.

>However, 800K is *way too much* memory to be spending on a disk cache.  Under
>normal circumstances, directory blocks are all that's in the cache anyway
>(it's not wise to blindly cache everything you read, see GS/OS Technical Note
>#3 for more details).  GS/OS is smart enough not to allocate 800K, only as 
>needed, but a 32K or 64K maximum cache size should keep most systems flowing
>smoothly.

	I guess I haven't looked at #3 recently... However, seeing as I
generally have >512k unused, I figure I might as well have the OS using it for
caching stuff, especially as I tend to cycle through (some large) programs
fairly quickly. Having them fly in from cache would seem to be faster than
getting them from this horrendously slow 28ms HD I have ;)

> [Deleted stuff about GS/OS using the integrity checks available in the
>  ProDOS file system, whereas P8 doesn't. Also deleted mention of ProSel 16]
>>Ray Rankins          |  (518) 387-7340  | INTERNET: rankins@zaire.crd.ge.com
>Matt Deatherage, Apple Computer, Inc. | "The opinions expressed in this tome
>ThisNet: mattd@apple.com              | subsidiaries, in whole or in part,


--
      Jason Blochowiak - blochowi@garfield.cs.wisc.edu or jason@madnix.uucp
       "Education, like neurosis, begins at home." - Milton R. Sapirstein