DIRECTORY AlpineEnvironment, AlpineInternal; FileControl: DEFINITIONS = BEGIN CommitPhase1: PROCEDURE [trans: AlpineInternal.TransHandle] RETURNS [readOnly: BOOLEAN]; CommitPhase2: PROCEDURE [trans, newTrans: AlpineInternal.TransHandle]; Abort: PROCEDURE [trans: AlpineInternal.TransHandle]; CallBeforeUpdatePass: PROCEDURE; CallAfterUpdatePass: PROCEDURE; Initialize: PROCEDURE; RegisterVolumeGroup: PROCEDURE [volumeGroupID: AlpineEnvironment.VolumeGroupID, volumes: LIST OF AlpineEnvironment.VolumeID]; END. ¨FileControl.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Last edited by: Taft on April 14, 1983 3:07 pm Kolling on May 27, 1983 2:04 pm Hauser, March 7, 1985 2:49:26 pm PST Procedures called from the Transaction manager to control the completion of File actions ! Lock.Failed, Lock.TransAborting; Notifies the File machinery that phase 1 of commit has begun: no new AlpineFile operations are possible, and the File machinery should ensure that all actions have been logged and that its data structures are in a good state for either commit or abort. Returns readOnly=TRUE if no files were updated during trans. Notifies the File machinery that phase 2 of commit for trans has finished with outcome = commit. CommitPhase1 must have been called previously. The File machinery should now begin carrying out any deferred actions for the transaction (however, CommitPhase2 does not necessarily wait for those actions to be completed). If newTrans # TransactionMap.nullHandle then newTrans is the continuation of trans. Notifies the File machinery that phase 2 of commit has finished with outcome = abort. CommitPhase1 may or may not have been called previously. This procedure performs any file-related undo actions before returning. Procedures called during recovery Called to notify AlpineFileImpls that the update pass of recovery is beginning. Called to notify AlpineFileImpls that the update pass of recovery has ended. Initialization Initializes the entire AlpineFileImpls configuration. No prerequisites. May be called only once. TEMPORARY (until we figure out how this should really be done...) Registers a volume group consisting of the specified volumes. Must be called after Initialize and before any operation that specifies a VolumeID or VolumeGroupID (AlpineFile.Open, AlpineFile.Create). Fatal error if volumeGroupID or any of volumes has already been registered. Hauser, March 7, 1985 2:49:04 pm PST Added copyright. Κx– "cedar" style˜šœ™Icodešœ Οmœ1™<—šœ™Jšœ>™>K™$—unitšΟk ˜ K˜K˜—šœ ž œ˜Kšž˜—J˜šœX™XšΟn œž œ%žœ žœ˜XJšœ"™"JšœŽžœ'™Ή—šŸ œž œ/˜FJšœ”™”—šŸœž œ%˜5JšœΧ™Χ——J˜J˜šœ!™!šŸœž œ˜ JšœO™O—šŸœž œ˜JšœL™L——J˜J˜šœ™šŸ œž œ˜Jšœ`™`—šŸœž œ;žœžœ˜}JšΠck Οc8™AJšœ“™“—Lšžœ˜—™$K™—K™—…— &