Steps to check and fix bad blocks on disk:
==========================================

=> example of bad disk7 on chippewa after swap with cherokee

- switch to root:
  su -

- to get disk infos use 'prtvtoc'
  prtvtoc /dev/rdsk/dks1d7vh
    * /dev/rdsk/dks1d7vh (bootfile "/unix")
    *     512 bytes/sector
    *     214 sectors/track
    *      21 tracks/cylinder
    *    3956 cylinders
    *       2 cylinders occupied by header
    *    3954 accessible cylinders
    *
    * No space unallocated to partitions
    
    Partition  Type  Fs   Start: sec   (cyl)    Size: sec    (cyl)  Mount
    Directory
     1          raw             8988  (   2)       314580   (  70)   swap
     7          xfs  yes      323568  (  72)     17454696   (3884)   /disk7
     8       volhdr                0  (   0)         8988   (   2) 
    10       volume                0  (   0)     17778264   (3956) 
    
- to mark bad blocks and reformat use 'fx -x'
  => WARNING: make sure that all IDs are correct. typing the wrong ID will 
     wipe out all data on the corresponding disk during formatting process
     with auto-option ('a')
  => see man pages for 'dks' (or 'jag', 'rad') about disk nomenclature

fx version 6.3, Nov 26, 1996
fx: "device-name" = (dksc)       #device name
fx: ctlr# = (0) 1                #controler number
fx: drive# = (1) 7               #drive number
fx: lun# = (0)                   #logical unit
...opening dksc(1,1,0)

fx: partitions in use detected on device
fx: devname             seq start   end     owner   cause
fx: /dev/rdsk/dks1d1s7    2 1260688 17780047 xfs/efs already in use
fx: /dev/rdsk/dks1d1s1    1 6688    1260687 swap    already in use

fx: Warning:  this disk appears to have mounted filesystems.
         Don't do anything destructive, unless you are sure
         nothing is really mounted on this disk.


...controller test...OK
Scsi drive type == MICROP  3391SS

----- please choose one (? for help, .. to quit this menu)-----
[exi]t             [d]ebug/           [l]abel/           [a]uto
[b]adblock/        [exe]rcise/        [r]epartition/     [f]ormat

fx> a

----- create sgiinfo-----
...creating default sgiinfo
 * * * * * W A R N I N G * * * * *
about to destroy data on disk dksc(1,1,0)! ok? yes

writing label info to dksc(1,7,0)
----- exercise-----
sequential pass 1: scanning [(0), (17778264)] (3956 cyls)

here are parts of the messages during this procedure:

   > ........... 10.......... 20.......... 30.......... 40..........  ...
   > 3100.......Tried to read 4494 blocks, only read 0 at (13962858) retry
   > #2 Tried to read 4494 blocks, only read 0 at (13962858) retry #3 ...
   > 3110.......  Tried to read 4494 blocks, only read 0 at (14007798)
   > retry #2 ... 3120.......  3130.......... 3140..........
   > 3150.....Tried to read 4494 blocks, only read 0 at (14178570) retry #2
   > Tried to read 4494 blocks, only read 0 at (14178570) retry #3 .....
   > 3160.......... 3170.......... 3180.......... 3190..........
   > 3200.......... 3210.......... 3220 .......... 3230..........
   > 3240.......... 3250.......... 3260..........  3270..........
   > 3280.......... 3290.....  ..... 3300..Tried to read 4494 blocks, only
   > read 0 at (14839188) retry #2 Tried to read 4494 blocks, only read 0
   > at (14839188) retry #3 Tried to read 4494 blocks, only read 0 at
   > (14839188) retry #4 Tried to read 4494 blocks, only read 0 at
   > (14839188) fx/auto/complete: Error:  read error in chunk starting at
   > block 14839188, looking for failing block(s) sector by sector
   > fx/auto/complete: Error:  Couldn't find bad block after 3 tries,
   > probable soft error ........ 3310.......... 3320..........
   > 3330.......... 3340..........  3350.......... 3360.....Tried to read
   > 4494 blocks, only read 0 at (15122310) retry #2 .....  3370..........
   > 3380.......... 3390.......... 3400..........  3410..........
   > 3420.......... 3430.......... 3440Tried to read 4494 blocks, only read
   > 0 at (15459360) retry #2




***************

This will test and mark bad blocks and reformat.
Worth a try though it might prove the disk is in too bad shape to use. 




- check file system with:
  xfs_check
  xfs_repair  (danger of destruction!)

