1108 Directory Scavenger Lispcore Version Introduction There are two lookup data structures stored on every lispfile logical volume. One is the directory, which maps symbolic filenames onto numeric file ID's; the other is the volume file map, which maps file ID's onto runs of disk pages. Scavenging Directories If the directory gets smashed but the volume file map is still intact, this package will rebuild the directory with the appropriate file names and version numbers. To run it, just call (SCAVENGEVOLUME logical-volume-name) [function] This will discard the old (smashed) directory, and create and open a new one. It will then use the volume file map to find the file ID and leader page of each file; the file name and version number is stored (redundantly) on the leader page. It uses this information to make all the appropriate entries in the new directory. Scavenging Volume File Maps Unfortunately, if the volume file map is smashed, there is currently no way to scavenge the volume. If there are any files on the volume you can open, try to copy them somewhere else (onto a floppy or a file server). Then you will have to clear the volume and start again: 1. To turn the volume into a Pilot volume, call (VOLUMETYPE logical-volume-name 'PILOT) 2. Logout of Lisp and boot Othello or Hello. Perform > Physical volume scavenge Are you sure? y > Erase Volume name: logical-volume-name Are you sure? y 3. Back in Lisp, create a fresh Lisp directory on the volume by calling (DFSCREATEDIRECTORY logical-volume-name) In order to write a volume file map scavenger, each page in the logical volume must have a label giving its file ID and file page number. A volume file map scavenger then simply looks at each page in the volume to reconstruct the volume file map. Unfortunately, the Harmony 1108 file system does not write labels. The plan is to have the file system not only write labels, but be completely compatible with the Pilot disk format, so that we can use the Scavenge Volume command in Othello/Hello as the volume file map scavenger. It is expected that this will be implemented for the Intermezzo release.ÔNILNIL HELVETICAÔNILNIL HELVETICAÔNILNIL HELVETICANILNILGACHA NILNILGACHA NILNILGACHA ÔNILNIL HELVETICAÔNILNILGACHA ÔNILNILíCLASSIC ÔNILNILCLASSIC ÔNILNILCLASSIC ÔNILNIL HELVETICAÔNILNILCLASSIC ÔNILNILºCLASSIC ÔNILNILGACHA ÔNILNIL0GACHA ÔNILNILGACHA ÔNILNILGCLASSIC ÔNILNILCLASSIC ÔNILNILCLASSIC ÔNILNIL HELVETICAÔNILNILCLASSIC ÔNILNILCLASSIC ÔNILNILCLASSIC ÔNILNIL2CLASSIC ÔNILNILGACHA ÔNILNIL GACHA GACHA  GACHA ÔNILNILGACHA ÔNILNIL7CLASSIC ÔNILNILGACHA ÔNILNILGACHA ÔNILNILGACHA ÔNILNIL GACHA ÔNILNIL GACHA GACHA GACHA ÔNILNILGACHA ÔNILNILGACHA ÔNILNILICLASSIC ÔNILNILGACHA ÔNILNILGACHA GACHA GACHA ÔNILNILGACHA ÔNILNIL\CLASSIC tXz¸