(FILECREATED " 3-Jun-84 22:06:30" {PHYLUM}<LISPNEW>SOURCES>MARKERPATCH.;4 5254         changes to:  (FNS MKDIR)		   (VARS MARKERPATCHCOMS)      previous date: " 3-Jun-84 21:25:07" {PHYLUM}<LISPNEW>SOURCES>MARKERPATCH.;2)(PRETTYCOMPRINT MARKERPATCHCOMS)(RPAQQ MARKERPATCHCOMS ((DECLARE: DONTCOPY (RECORDS LogicalSubVolumeMarker SubVolumeMarkerPage 						    LogicalVolumeDescriptor)				  (MACROS LvDevicePtr MarkerPageAddr LvPagePtr))			(FNS MKDIR MAKEPILOT)			(CONSTANTS DFSPilotVolume DFSLispVolume)))(DECLARE: DONTCOPY [DECLARE: EVAL@COMPILE (MESARECORD LogicalSubVolumeMarker ((seal WORD)				    (version WORD)				    (labelLength BITS 6)				    (type BITS 2)				    (NIL BITS 8)				    (label 20 WORD)				    (bootingInfo LVBootFiles)				    (volumeRootDirectory ID)				    (NIL WORD)))(MESARECORD SubVolumeMarkerPage ((logical LogicalSubVolumeMarker)                                                             (* Incomplete)				 ))(MESARECORD LogicalVolumeDescriptor ((seal WORD)             (* Validation ; absolutely must be first field)				     (version WORD)          (* must be 2nd field)				     (vID ID)                (* ID of This Volume)				     (labelLength WORD)      (* Length of th ASCII name of this volume)				     (label 20 WORD)         (* Volume name in AScII)				     (type WORD)				     (volumeSize SWAPPEDFIXP)                                                             (* Number of pages in this volume)				     (bootingInfo LVBootFiles)                                                             (* Defines 6 PILOT file types)                                                             (* Reorder from here on only)				     (treeLevel WORD)				     (changing WORD)         (* boolean _ T)				     (freePageCount SWAPPEDFIXP)                                                             (* Number of free pages remaining)				     (vamStart SWAPPEDFIXP)				     (vfmStart SWAPPEDFIXP)                                                             (* Relative address of the start of the volume file map)				     (lowerBound SWAPPEDFIXP)				     (rootFileID RootFileArray)				     (volumeRootDirectory ID)				     (NIL WORD)              (* This is inserted for compatibility)				     (interval Intervals)    (* One entry for each level of the B-Tree)				     (NIL 13 WORD)				     (checksum WORD)         (* Must be the last field)				     )				    (CREATE (NCREATE (QUOTE VMEMPAGEP))))](DECLARE: EVAL@COMPILE (PUTPROPS LvDevicePtr MACRO ((VolNum)			     (ELT \DFSDevices VolNum)))(PUTPROPS MarkerPageAddr MACRO [(vol)				(fetch (SubVolumeDscr NPages) of (SubVolumeEntryPtr (\DFSFindVolumeNumber vol])(PUTPROPS LvPagePtr MACRO ((I)			   (ELT \LogicalVolumes I)))))(DEFINEQ(MKDIR  [LAMBDA (VolName)                                          (* edited: " 3-Jun-84 22:04")    (PROG ((volNum (\DFSVOLUMEP VolName))	   vol markerPage)                                   (* \DFSVOLUMEP returns the volume number associated with							     VolName, it there is such)          [COND	    ((NULL volNum)	      (ERROR (CONCAT "Volume " VolName " not on local disk"]          (SETQ vol (LvPagePtr volNum))          (COND	    ((\DFSDeviceConflict VolName)	      (RETURN NIL))	    (T (UNINTERRUPTABLY                   (replace (LogicalVolumeDescriptor type) of vol with DFSPilotVolume)		   (\DFSVFMInitMap vol)		   (\DFSOpenDiskDevice volNum)		   (\DFSMakeVolumeDirectory (LvDevicePtr volNum))		   (replace (LogicalVolumeDescriptor type) of vol with DFSLispVolume)		   (\LvPutPage vol 0 vol)		   (SETQ markerPage (\LvGetPage vol (MarkerPageAddr vol)))		   (replace (LogicalSubVolumeMarker type) of markerPage with DFSLispVolume)		   (replace (LogicalSubVolumeMarker volumeRootDirectory) of markerPage		      with (fetch (LogicalVolumeDescriptor volumeRootDirectory) of (LvPagePtr volNum))			    )		   (\LvPutPage vol (MarkerPageAddr vol)			       markerPage)		   (\DFSDsplyVolumes))	       (RETURN VolName])(MAKEPILOT  [LAMBDA (VOL)                                              (* hts: " 1-Jun-84 23:12")    (PROG [(volNum (\DFSVOLUMEP VOL))	   vol markerPage (device (CDR (FASSOC VOL \DEVICENAMETODEVICE]          (if (NOT volNum)	      then (ERROR (CONCAT VOL " is not a local disk volume")))          (UNINTERRUPTABLY              (SETQ vol (LvPagePtr volNum))	      (replace (LogicalVolumeDescriptor type) of vol with DFSPilotVolume)	      (\LvPutPage vol 0 vol)	      (SETQ markerPage (\LvGetPage vol (MarkerPageAddr vol)))	      (replace (LogicalSubVolumeMarker type) of (fetch (SubVolumeMarkerPage logical)							   of markerPage)		 with DFSPilotVolume)	      (\LvPutPage vol (MarkerPageAddr vol)			  markerPage)	      (\DFSDsplyVolumes)	      (if device		  then (\REMOVEDEVICE device)		       (SETA \DFSDevices volNum NIL)))]))(DECLARE: EVAL@COMPILE (RPAQQ DFSPilotVolume 0)(RPAQQ DFSLispVolume 3)(CONSTANTS DFSPilotVolume DFSLispVolume))(DECLARE: DONTCOPY  (FILEMAP (NIL (2870 5105 (MKDIR 2880 . 4199) (MAKEPILOT 4201 . 5103)))))STOP