(FILECREATED " 5-Jun-84 13:26:44" ("compiled on " {PHYLUM}SOURCES>VOLUMEALLOCATIONMAP.;3) " 4-Jun-84 00:30:46" tcompl'd in WORK dated " 4-Jun-84 00:43:25") (FILECREATED " 5-Jun-84 12:23:39" {PHYLUM}SOURCES>VOLUMEALLOCATIONMAP.;3 12774 changes to: ( FNS \DFSVAMAllocPageGroup) previous date: "24-May-84 20:04:53" {PHYLUM}SOURCES>VOLUMEALLOCATIONMAP.;2) \DFSVAMAllocPageGroupA0001 D1 (NAME ERRORSET L (2 ERRORSET.W 1 ERRORSET.V 0 ERRORSET.U) P 7 allocated P 6 desiredPage P 5 page P 0 \INTERRUPTABLE F 10Q vol F 11Q groupPtr F 12Q filePtr F 13Q RESETY)  `hi ¿PWÈ^WÈ]õ!MWÈWÈõkÙýñ¯i¸W l ¿WWM ¥MkØ]°ÕWlÐM ¿MWYÈIÈõWZÈJÈõÙؾMkØ]WÈWÈõkÙýñ¯i¸W l ¿MN ©WWM ³ÐMW[ÈKÈõÙ_¿WlÐW\ÈLÈõOØ ¿WlWÐWÈXWÈWõO Ø ¿Wl]ÐM ¿WjW ¿``` hci(403Q \LvPutPage 366Q \LvPutPage 355Q \PUTSWAPPEDFIXP 343Q \PUTSWAPPEDFIXP 337Q MINUS 313Q \PUTSWAPPEDFIXP 236Q \DFSVAMAllocPage 225Q EQP 217Q \LISPERROR 212Q \DFSGetLvName 207Q \DFSFindVolumeNumber 121Q \PUTSWAPPEDFIXP 76Q \DFSVAMAllocPage 65Q \LISPERROR 60Q \DFSGetLvName 55Q \DFSFindVolumeNumber 7 OBTAIN.MONITORLOCK) (400Q \DFSVAMbuffer 375Q \DFSVAMbufferVolumePage 372Q \DFSVAMbufferVolume 276Q PageGroup 266Q PageGroup 246Q PageGroup 144Q PageGroup 130Q PageGroup 112Q PageGroup 2 \DFSVAMmonitor) () \DFSVAMAllocPageGroup D1 (P 2 RESETZ P 1 RESETY P 0 LISPXHIST I 3 createFile I 2 groupPtr I 1 filePtr I 0 vol F 3 LISPXHIST F 4 RESETVARSLST) "S!Tog ‘h‚gZ J“I(35Q ERROR! 30Q RESETRESTORE 16Q \DFSVAMAllocPageGroupA0001) (24Q ERROR 13Q INTERNAL) ( 10Q (DUMMY.FOR.ERRORSET)) \DFSVAMFreePageGroupA0001 D1 (NAME ERRORSET L (2 ERRORSET.W 1 ERRORSET.V 0 ERRORSET.U) P 14Q page P 12Q group P 0 \INTERRUPTABLE F 15Q vol F 16Q groupPtr F 17Q filePtr F 20Q RESETY) ó `hi ¿  W  OYÈIÈõOZÈJÈõýñ¢±¼O[ÈKÈõO\ÈLÈõO]ÈMÈõÙkÙØO^ÈNÈõ OOñ³WWO ¿OkØ_°ëWlWÐWÈXWÈWõO_ÈOÈõO_ÈOÈõÙØ ¿Wl]ÐO_ÈOÈõWÈ^WÈ]õ ¿WjW ¿W`` ¿hc i(351Q \LvPutPage 335Q \LvPutPage 324Q \PUTSWAPPEDFIXP 321Q MIN 261Q \PUTSWAPPEDFIXP 170Q \DFSVAMFreePage 20Q \DFSVAMAdjustGroup 7 OBTAIN.MONITORLOCK) (346Q \DFSVAMbuffer 343Q \DFSVAMbufferVolumePage 274Q PageGroup 243Q PageGroup 225Q PageGroup 136Q PageGroup 116Q PageGroup 102Q PageGroup 66Q PageGroup 44Q PageGroup 30Q PageGroup 2 \DFSVAMmonitor) () \DFSVAMFreePageGroup D1 (P 2 RESETZ P 1 RESETY P 0 LISPXHIST I 3 deleteFile I 2 groupPtr I 1 filePtr I 0 vol F 3 LISPXHIST F 4 RESETVARSLST) "S!Tog ‘h‚gZ J“I(35Q ERROR! 30Q RESETRESTORE 16Q \DFSVAMFreePageGroupA0001) (24Q ERROR 13Q INTERNAL) ( 10Q (DUMMY.FOR.ERRORSET)) \DFSVAMInit D1 NIL hgNIL (6 if 3 \DFSVAMbufferVolumePage) () \DFSVAMRecomputeFreePageCountA0001 D1 (NAME ERRORSET L (2 ERRORSET.W 1 ERRORSET.V 0 ERRORSET.U) P 5 free P 3 firstFree P 2 page P 0 \INTERRUPTABLE F 6 vol F 7 RESETY) g`hi ¿VlWÐVÈVÈõkijJIñ³-VhJg jðM´KšVl]ÐJ ¿h»M“LkؼJkØZ°ÓL ¿VjV ¿VÈXVÈWõci(130Q \LvPutPage 121Q \PUTSWAPPEDFIXP 74Q \PUTSWAPPEDFIXP 52Q \DFSVAMUpdateVAM 7 OBTAIN.MONITORLOCK) (47Q read 2 \DFSVAMmonitor) () \DFSVAMRecomputeFreePageCount D1 (P 2 RESETZ P 1 RESETY P 0 LISPXHIST I 0 vol F 3 LISPXHIST F 4 RESETVARSLST) "S!Tog ‘h‚gZ J“I(35Q ERROR! 30Q RESETRESTORE 16Q \DFSVAMRecomputeFreePageCountA0001) (24Q ERROR 13Q INTERNAL) ( 10Q (DUMMY.FOR.ERRORSET)) \DFSVAMAllocPage D1 (P 0 page I 2 page# I 1 filePtr I 0 vol) G@ABg jð´:@B !lÿjº¹JIñ¬HJÐjÍ¿JkØZ°ò@BH @ABg kð¥g i(103Q SHOULDNT 72Q \DFSVAMUpdateVAM 60Q \LvPutPage 21Q \LvGetPage 10Q \DFSVAMUpdateVAM) (100Q fuckup 67Q read 5 alloc) () \DFSVAMUpdateVAM D1 (P 6 result P 5 VAMBit P 4 VAMWord P 3 VAMPage P 2 VAMBit# P 1 VAMWord# P 0 VAMPage# I 3 allocOrFree I 2 page I 1 filePtr I 0 vol) cBnÛBnÜlÛBlÜC@H [dIÐÈ\`JàÐÉÉ]LMåjð¡k€j^Cdgð–¿LMä\°gð—LMmÿæå\ˆCgð£¿KIÐLÍN(130Q SHOULDNT 30Q \DFSVAMGetVAMPageFor) (123Q read 105Q free 71Q alloc 42Q \MASKOUT.MARGIN) () \DFSVAMGetVAMPageFor D1 (P 3 \INTERRUPTABLE P 0 volumePage I 1 VAMPage# I 0 vol) f@ÈZ@ÈYõAØ!ljº¹JIñ³`JÐÈ@JÐÈð¡h†JkØZ°èi›`H “``œ``` ¿@¿H¿``` (143Q \LvGetPage 111Q \LvPutPage 64Q EQP) (140Q \DFSVAMbuffer 135Q \DFSVAMbufferVolumePage 132Q \DFSVAMbufferVolume 126Q \DFSVAMbufferVolumePage 121Q \DFSVAMbufferVolume 106Q \DFSVAMbuffer 103Q \DFSVAMbufferVolumePage 100Q \DFSVAMbufferVolume 74Q \DFSVAMbufferVolumePage 70Q \DFSVAMbuffer 60Q \DFSVAMbufferVolumePage 30Q \DFSVAMbufferVolume) () \DFSVAMAdjustGroup D1 (P 0 group I 0 groupPtr) T`@ 1HYÈIÈõjð²:HZÈJÈõjð™HlÐk°Hk ¿HlÐH[ÈKÈõkØ H(120Q \PUTSWAPPEDFIXP 70Q \PUTSWAPPEDFIXP 6 NCREATE2) (104Q PageGroup 75Q PageGroup 64Q PageGroup 52Q PageGroup 34Q PageGroup 15Q PageGroup 2 PageGroupTYPE#) () \DFSVAMFreePage D1 (I 2 page I 1 filePtr I 0 vol) @ABg jð´g (22Q SHOULDNT 10Q \DFSVAMUpdateVAM) (17Q pageAlreadyDeallocated 5 free) () \DFSVAMAtLoad D1 NIL g l hd(5 CREATE.MONITORLOCK) (26Q \DFSVAMbufferVolumePage 22Q \DFSVAMbufferVolume 16Q \DFSVAMbuffer 10Q \DFSVAMmonitor 2 \DFSVAMmonitor) () (PRETTYCOMPRINT VOLUMEALLOCATIONMAPCOMS) (RPAQQ VOLUMEALLOCATIONMAPCOMS ((* Implements the 1108 file system volume file map. Very roughly translates {idun}pilot>private>volAllocMapImpl.mesa, but omits a number of dubious optimizations.) (DECLARE: EVAL@COMPILE DONTCOPY (CONSTANTS (BITSPERPAGE 4096))) (* Public routines) ( FNS \DFSVAMAllocPageGroup \DFSVAMFreePageGroup \DFSVAMInit \DFSVAMRecomputeFreePageCount) (* Private routines:) (FNS \DFSVAMAllocPage \DFSVAMUpdateVAM \DFSVAMGetVAMPageFor \DFSVAMAdjustGroup \DFSVAMFreePage) (FNS \DFSVAMAtLoad) (GLOBALVARS \DFSVAMmonitor \DFSVAMbuffer \DFSVAMbufferVolume \DFSVAMbufferVolumePage) (P (\DFSVAMAtLoad)))) (\DFSVAMAtLoad) (PUTPROPS VOLUMEALLOCATIONMAP COPYRIGHT ("Xerox Corporation" 1984)) NIL