D JGdriver, SOFTWARE, intercept driver to retry errors on any VMS disk  D JGdriver is an intercept driver which is used to retry errors on anyC VMS disk. It is currently set up to build correctly on VAX systems.   G It works by arranging, at start-IO time, that the disk start-io control C goes into it first, and a counter is initialized. Then when the I/O B completes, if it was unsuccessful, it is retried up to some numberG of times (255 by default). If it was OK, the I/O is completed normally.   C This means that a disk drive that gets some errors can be forced to A have them retried invisibly to the rest of VMS. Now and then some B disk errors will in fact occur which can be retried and which willD not appear all the time. This gives you a way to increase (sometimes2 markedly) the reliability of the disk abstraction.  	 To build:   
 $ macro jgctl  $ macro jgdriver# $ link jgctl+sys$system:sys.stb/sel 4 $ link jgdriver+sys$system:sys.stb/sel+sys$input/opt base=0 $ ! ' $ copy jgdriver.exe sys$common:[sysexe] $ $ copy jgctl.exe sys$common:[sysexe]$ $ copy jgctl.cld sys$common:[sysexe] $ set command sys$system:jgctl, $ sysgen connect jga0:/noada/driver=jgdriver, $ sysgen connect jga1:/noada/driver=jgdriver' ... etc....load one JG unit per disk...    $jgctl/verify jga0: dka0:  $jgctl/verify jga1: dka200:   7 ...and so on. Use a different JGAn: unit for each disk.   - (To deassign this facility use a command like    $jgctl/deas jga0: dka0:    )   ? You can do this at any time, and just continue to use the disks B as normal. There will be no observed effects except that transient? errors may disappear, and that fatal errors will take longer to < appear. In normal operation you don't see any change, but it< gives you a safety net. This was concocted for optical disksA originally where the author was seeing error log entries labelled @ "recoverable ECC error" and the errors were not being retried in/ dkdriver. It corrected the problem completely.    > The driver is also a decent example of a VMS intercept driver.   Glenn C. Everhart 