[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fatal Disk Error urgency [1]



    Date: Wed, 6 Jun 90 12:03 PDT
    From: DE@PHOENIX.SCH.Symbolics.COM (Doug Evans)

    As the other Doug says below, never use these functions on a LMFS
    partition unless you intend to throw the entire LMFS away.

Does LMFS:FIX-FILE ever add blocks to the bad block file?  Does LMFS
maintain its own list of bad blocks in each partition instead?

I think that if you're extremely careful SI:FIX-FEP-BLOCK can be used on
a LMFS partition:

	1. Reboot the server and don't enable services.  You don't want
	   to use LMFS much.
        2. Use SI:FIX-FEP-BLOCK and ZERO the bad block.
	3. Reboot.
	4. Salvage the LMFS.

The reboot in step 3 is important because LMFS may have cached physical
disk blocks, and you want to force it to use the new block added in step
2.

The salvager should resolve whatever problems were caused by zeroing the
block in the LMFS (it will undoubtedly have bad checkwords, it might be
a file header in which case the file will be lost, and if it's in a
directory it will leave orphans).

However, I agree that this is not a highly recommended action.

			 and paging files can just have the block removed (while the 
	    file is not in use!)

    Ditto world files: Never use these fuctions on files that are in use.

You can use them, but their effects won't be noticed until you reboot.
The load and paging maps all use physical addresses.

    3. ZERO:  This option is supposed to remove the bad block from the file,
       allocate a new block from the free map, splice that block into the
       file, and write 0's into it.  This option can also be used to repair
       trashed paging files.

I recommend this for world load files that exist on other hosts.  You
can zero the bad block, then use the :Start Block and :End Block options
to Copy World to just copy the specified block.

Other useful functions related to this:

(SI:GET-FILE-CONTAINING dpn)

This searches the FEPFS for the file in which the given DPN resides.  It
returns the pathname and the block number within the file.

(SI:DPN-FROM-ADDRESS unit cylinder head sector)

Translate a physical block address into a DPN.

(SI:ADDRESS-FROM-DPN dpn &optional unit)

Returns the physical block address as four values: unit, cylinder, head,
sector

The last two functions are useful because various utilities report
and/or accept disk addresses in the two different formats.  Physical
addresses are reported when fepping out in the paging code,
SI:FIX-FEP-BLOCK wants physical addresses, but SI:GET-FILE-CONTAINING
wants a DPN and SI:VERIFY-FEP-FILESYSTEM reports problems in DPNs.

                                                barmar