Google
 

Trailing-Edge - PDP-10 Archives - ap-c796e-sb - failsa.doc
There are 8 other files named failsa.doc in the archive. Click here to see a list.


                         FAILSA.DOC
               VERSION 100(47)--AUGUST, 1974



***COPYRIGHT 1973, 1974, DIGITAL EQUIPMENT  CORP.,  MAYNARD,
MASS.***






  1.0 SUMMARY


          THIS UPDATE FIXES NUMEROUS BUGS IN  VERSION  76/77
          (LAST  RELEASE). FAILSA VERSION 100, ALIAS FAILWC,
          RESTORES 5-SERIES TAPES UNDER BOTH FOUR  AND  FIVE
          SERIES  DISK  MONITORS.  FAILSA VERSION 101, ALIAS
          FAILSA, RESTORES 5-SERIES TAPES UNDER FIVE  SERIES
          DISK  MONITORS.   FAILSA  CONFORMS  TO  THE DATE75
          SPECIFICATIONS.


          FAILSA VERSION 100(47) WILL RUN ON  ALL  SUPPORTED
          MONITORS.  IT  HAS  BEEN TESTED UNDER 506 AND 507,
          AND FULLY SUPERSEDES ALL PREVIOUS VERSIONS.


          FAILSA IS DOCUMENTED IN SOFTWARE NOTEBOOK VOL.  7.
FAILSA.DOC                                            Page 2


  2.0 EXTERNAL CHANGES


  EDIT--47
          THIS EDIT CAUSES FAILSA TO SAVE ALL FILES  WITH  A
          CREATION  OR  ACCESS  DATE OLDER THAN 1 JAN 67 AND
          FILES WITH A DATE EQUAL TO 5 JAN 75.  THIS IS DONE
          WITHOUT  REGARD TO THE /E OR /F SWITCH SETTINGS IN
          AN ATTEMPT TO PREVENT THE USER FROM  LOSING  FILES
          DUE  TO  DATE-75  BUGS.  IN A /K/U SAVE FILES WITH
          "FUNNY" DATES ARE NOT DELETED OR SAVED SINCE  THEY
          ARE ASSUMED TO BE NEW FILES. IF FILES WITH "FUNNY"
          DATES ARE NOT RESTORED DURING THE RESTORE  PROCESS
          A  MESSAGE  IS  PRINTED  ON  THE  USERS CONSOLE. A
          FILCOM OF THIS PATCH IS APPENDED  TO  THE  END  OF
          THIS FILE.


  EDIT--46
          FIXES EDIT 37 WHICH CAUSED  ALL  PROJECTS  GREATER
          THAN 10 TO BE SAVED AND DELETED IN /K MODE.


  EDIT--45
          FIXES "ADDRESS CHECK FOR DPA0..." WHEN COMMAND WAS
          "/W/U/W/U"  AND  NO  FILES WERE SAVED FOR THE LAST
          FILE STRUCTURE IN THE SEARCH LIST


  EDIT--44
          /E STILL DOESN'T WORK.  THE TIME  FIELDS  ARE  NOT
          ALIGNED BEFORE THEY ARE COMPARED.


  EDIT--43
          "SWAPQ" ROUTINE REENTERS THE "TAPFL4"  ROUTINE  AT
          THE WRONG POINT.  THIS PROBLEM OCCURES WHEN SAVING
          WITH A /G OR /O SWITCH AND EOT IS ENCOUNTERED.


  EDIT--42
          ARGUMENTS FOR DSKCHR AT "X:" ARE NOT INITIALIZED


  EDIT--41
          DONT CHECK THE VERSION NUMBER WHEN SAVING FILES AT
          THE  CHKCRE  ROUTINE.   THIS  FIX  ALLOWS THE "/E"
          SWITCH TO WORK PROPERLY.


  EDIT--40
          ZERO THE PROTECTION FIELD  WHEN  PERFORMING  ENTER
          FOR  FAILSA.DIR.   PREVENTS SUBSEQUENT ENTERS FROM
          FAILING.
FAILSA.DOC                                            Page 3


  EDIT--37
          EXTENDS THE CRITERIA FOR EXEMPTING FILES FROM A /K
          PURGE  TO  INCLUDE  ALL  PROJECTS GREATER THAN 10.
          AREAS AFFECTED:  UNCONS


  EDIT--36
          MASKS DATE TO 15 BITS.  THIS IS  A  PATCH  TO  THE
          DATE75 CODE. AREAS AFFECTED:  YRSMOS


  EDIT--35
          ADDS A  CONTROL-Z  TRAP.  AREAS  AFFECTED:   ILCH,
          NOTYET


  EDIT--34
          REINITIALIZES THE TTY PRIOR  TO  ATTEMPTING  ERROR
          MESSAGE PRINT ON OUTPUT FILE LOOKUP FAILURE. AREAS
          AFFECTED:  PRINT


  EDIT--33
          REMOVES UNCONDITIONAL DEFINITION OF ALFLEX.  AREAS
          AFFECTED:  ALFLEX


  EDIT--32
          PROVIDES  PROPER  OPERATION   OF   /K   WITH   /F.
          PREVIOUSLY  SAVED AND DELETED FILES ACCESSED AFTER
          RATHER THAN BEFORE THE /F  DATE.  AREAS  AFFECTED:
          CUSPPN, MORE10


  EDIT--31
          CONVERT THE DATE FORMAT FROM A 12 BIT FIELD  TO  A
          15 BIT FIELD.


  EDIT--30 (SPR 10-10280)
          PROVIDES FOR AN ERROR RETURN FROM THE GETPPN UUOS.


          TERMINATE CONDITIONAL ASSEMBLY  CODE  IN  THE  FS1
          ROUTINE, AN ANGLE BRACKET IS MISSING.


          TYPE "SYS:FAILSA.HLP FILE NOT FOUND" INSTEAD OF "H
          IS ILLEGAL".


          CHECK FOR A -1 RETURN FROM JOBSTR UUO.

FAILSA.DOC                                            Page 4


          GET DENSITY BITS FROM THE INIT ARGUMENT BLOCK WHEN
          THE MTCHR.  UUO FAILS.


          TYPE CURRENT DATE AND TIME FOR /R OPERATION AS  IS
          DONE FOR /S OPERATION.


          FOR /T OPERATION FORCE OUT LEFT ANGLE  BRACKET  TO
          INDICATE THAT FILE RESTORE WAS STARTED.


          WRONG TEST IS MADE FOR UUOS  IN  MAYBE  AND  EXNAM
          ROUTINES.


  EDIT--27 (SPR 10-9515)
          THE "/L" OPERATION  DOES  NOT  CLOSE  THE  CHANNEL
          ASSIGNED  TO  THE  MTA.   THIS  LEADS  TO "ADDRESS
          CHECK" IF "/R" IS THE NEXT OPERATION AND  THE  PPN
          IS NOT EQUAL TO 1,2.


  EDIT--26
          THE "/T" AND "/Q" OPERATION CAUSE "ILL  MEM  REF".
          THE  ROUTINES  SHOULD BE CALLED WITH A "PUSHJ" NOT
          "JRST".


  EDIT--25
          CLEAN-UP


  EDIT--24 (SPR 10-8532/10118)
          THE FEATURE TO SAVE/RESTORE  FILES  OF  A  MINIMUM
          LENGTH  FAILS  WHEN  THE  "/E"  OR  "/F" SWITCH IS
          SPECIFIED.


  EDIT--23 THRU 14
          MAKE GOBSTR WORK PROPERLY.


          THE NUMBER OF RELEASE UUOS ARE  MINIMIZED  IF  THE
          CONDITIONAL  ASSEMBLY  SWITCH  MINREL EQUALS ZERO,
          THE DEFAULT VALUE.


          BALANCE THE PUSH-DOWN  STACK  BEFORE  EXITING  THE
          FORGIV ROUTINE SO PDL OVER-FLOW IS AVOIDED.


          THE WRONG FLAVOR OF  CONDITIONAL  ASSEMBLY  SWITCH
          COMUFD  IS  BEING  TESTED SO UNUSED BLOCKS ARE NOT
          DEALLOCATED.
FAILSA.DOC                                            Page 5


          DO NOT TRANSFER A FILE TO DISK IF IT HAD ANY  TAPE
          ERRORS.


          IF MONITOR AND  FAILSA  DISAGREE  ON  RECORD  WORD
          COUNT DON'T TRANSFER THE FILE.


          AN ATTEMPT TO COMPLY WITH DATE75 STANDARD --  ZERO
          THE  LOOKUP/ENTER  ERROR CODE BUT NOT THE HI-ORDER
          CREATE DATE BITS.
FAILSA.DOC                                            Page 6


  3.0 KNOWN DEFICIENCIES

          CAUTIONS WITH FAILSA:  ALL THE FOLLOWING  PROBLEMS
          HAVE BEEN AROUND FOREVER.

          1) ERROR REPORTING IS MINIMAL AND  THEREFORE  VERY
          POOR.   IT  IS  RECCOMENDED  THAT A USER ALWAYS AT
          LEAST DO A  DIRECTORY  OF  A  FAILSA  TAPE  BEFORE
          BELIEVING   THE  TAPE  IS  GOOD.   AND  EVEN  THEN
          SOMETIMES DIRECT WILL NOT FIND ERRORS THAT  FAILSA
          WILL.

          2) FAILSA THINKS OF A SAVE SET  AS  A  "TAPE"  AND
          SOME  OF  ITS MESSAGES CAN BE MISLEADING.  ONE CAN
          ACCIDENTALLY WIPE OUT LATER SAVE  SETS  BY  TAKING
          FAILSA   MESSAGES   ABOUT   "END  OF  TAPE"  ,ETC.
          LITERALLY

          3) FAILSA ISN'T VERY SMART ABOUT  FILE  NAMES  AND
          STRUCTURES.   WHEN   GOING   TO  TAPE,  FAILSA  IS
          STRUCTURE-MINDED AND WHEN GOING TO DISK IT IS FILE
          NAME-MINDED.   THESE  ARE EXCLUSIVE OF EACH OTHER.
          THEREFORE, IF A USER HAS A FILE BY THE  SAME  NAME
          ON  TWO  STRUCTURES IN THE SAME SAVE SET, AND ASKS
          FOR THAT FILE NAME, FAILSAFE WILL ONLY GET THE ONE
          ON THE FIRST STRUCTURE.  IT IS ALSO TRUE THAT EVEN
          IF A USER SAYS /E AND ONLY THE FILE IN  THE  LATER
          STRUCTURE  FITS  THE  DESCRIPTION, FAILSA DOES THE
          WRONG THING.  IT LOOKS  ON  THE  FIRST  STRUCTURE,
          FINDS  THE RIGHT NAME AND SAYS "FILE FOUND" ON THE
          USER'S TERMINAL.  IT THEN NOTICES THE DATE IS  TOO
          EARLY  FOR  WHAT IS SPECIFIED BY THE /E COMMAND SO
          IT DOESN'T RESTORE THE  FILE  IT  SAID  IT  FOUND.
          NOTHING  CAN  INDUCE  FAILSA  TO  LOOK  ON A LATER
          STRUCTURE UNDER THESE CIRCUM- STANCES.   THE  ONLY
          WAY TO GET SUCH A FILE OFF IS WITH A COMPLETE WILD
          CARD.

          4) SFD  FILES  ARE  IGNORED,  RATHER  THAN   BEING
          TREATED  AS  A DIRECTORY FILE.  FILES UNDER AN SFD
          ARE THUS NOT SAVED BY FAILSA.


  4.0 CHANGES IN INSTALLATION INSTRUCTIONS

          NONE.


  5.0 INTERNAL CHANGES

          THE SOURCE FILE NOW CONTAINS PAGE NUMBERS.  FAILSA
          CONFORMS TO THE DATE75 SPECIFICATIONS.
File 1)	DSK:FAIL47.MAC	created: 1625 17-OCT-1984
File 2)	DSK:FAILSA.MAC	created: 0000 04-SEPT-1974

1)1	TECONO==47
1)	;THE # TIMES TECO-ED
****
2)1	TECONO==46
2)	;THE # TIMES TECO-ED
**************
1)1	; EDIT 47 - THIS PATCH CAUSES FAILSA TO SAVE ALL FILES WITH
1)	;		A CREATION OR ACCESS DATE OLDER THAN 1/1/67 OR
1)	;		WITH A DATE EQUAL TO 1/5/75. THIS IS DONE WITHOUT
1)	;		REGARD TO /E OR /F SWITCH SETTINGS IN AN ATTEMPT
1)	;		TO PREVENT THE USER FROM LOSING FILES DUE TO DATE75
1)	;		BUGS. IN A /K/U SAVE FILES WITH "FUNNY" DATES ARE NOT
1)	;		DELETED OR SAVED SINCE THEY ARE ASSUMED TO BE NEW FILES.
1)		RELOC
****
2)1		RELOC
**************
1)34		 JRST	[LDB	W,[POINT 3,FILDIR+3,20]	;[47]BRING
1)			LDB	U,[POINT 12,FILDIR+4,35];[47] CREATION
1)			LSH	W,14		;[47] DATE
1)			IOR	U,W		;[47] TOGETHER
1)			CAIE	U,10000		;[47] DATE = 1/5/75 OR
1)			CAIGE	U,2134		;[47] LESS-THAN 1/1/67 ?
1)			CAIA			;[47] YES - SAVE THE FILE
1)			JRST	MORE2		;[47] CRDATE .GT. FILE'S CREATE-DATE
1)			SETZ	A,		;[47] TO PASS ACCESS DATE CHECK
1)			JRST	UNCONS	]	;[47] SAVE IT
1)		 JFCL				;DATES ARE EQUAL
****
2)34		 JRST	MORE2			;CRDATE .GT. FILE'S CREATE-DATE
2)		 JFCL				;DATES ARE EQUAL
**************
1)34		CAIE	A,10000		;[47] IF DATE = 1/5/75 OR
1)		CAIGE	A,2134		;[47] OR LESS-THAN 1/1/67
1)		JRST	UNCONS		;[47] SAVE FILE ELSE
1)		SUB	A,ACCDAT	;COMPARE TWO DATES
****
2)34		SUB	A,ACCDAT	;COMPARE TWO DATES
**************
1)59		JRST	[PUSHJ P,FNR		;[47] DONT RESTORE THIS FILE
1)			JRST FTAPIN]		;[47]
1)		JFCL
****
2)59		JRST	FTAPIN
2)		JFCL
**************
1)59		JRST	[PUSHJ P,FNR1		;[47] YES, DON'T RESTORE THIS FILE
1)			JRST FTAPIN]	;[47]
1)	SKPCHK:	MOVE	U,5(B)		;GET THIS GUY'S PPN
****
2)59		JRST	FTAPIN		;YES, DON'T RESTORE THIS FILE
2)	SKPCHK:	MOVE	U,5(B)		;GET THIS GUY'S PPN
**************
1)60		JFCL			;YES, CLOSE CHK AND GET NEXT FILE
1)		JRST	[PUSHJ P,FNR	;[47] =, "FILE NOT RESTORED"
1)			JRST FTPIN1]	;[47]
File 1)	DSK:FAIL47.MAC	created: 1625 17-OCT-1984
File 2)	DSK:FAILSA.MAC	created: 0000 04-SEPT-1974

1)		CLOSE	CHK,DNC		;NO, CLOSE DISK FILE
****
2)60		JRST	FTPIN1		;YES, CLOSE CHK AND GET NEXT FILE
2)		JRST	FTPIN1		;=
2)		CLOSE	CHK,DNC		;NO, CLOSE DISK FILE
**************
1)81	ESTPR3:	MOVE	A,TAPHED		;[47] GET CURRENT STRUCTURE
1)		MOVE	B,3(A)	;
****
2)81		MOVE	A,TAPHED		;GET CURRENT STRUCTURE
2)		MOVE	B,3(A)	;
**************
1)81	FNR:	LDB	A,[POINT 3,7(B),20]	;[47] GET TOGETHER
1)		LDB	U,[POINT 12,10(B),35]	;[47] A CREATION
1)		LSH	A,14			;[47] DATE
1)		IOR	A,U			;[47]
1)	FNR1:	CAIE	A,10000			;[47] IF DATE = 1/5/75 OR
1)		CAIGE	A,2134			;[47] LESS-THAN 1/1/67
1)		CAIA				;[47] TELL USER FILE NOT RESTORED
1)		POPJ	P,			;[47] ELSE GET NEXT FILE
1)		LDB	A,[POINT 15,7(B),35]	;[47] GET ACCESS DATE
1)		PUSH	P,A			;[47] SAVE IT
1)		LDB	A,[POINT 3,7(B),20]	;[47] GET CREATION DATE
1)		LDB	U,[POINT 12,10(B),35]	;[47]
1)		LSH	A,14			;[47]
1)		IOR	A,U			;[47]
1)		PUSH	P,A			;[47] SAVE IT
1)		PRLIN1	<FILE NOT RESTORED#>
1)		PUSHJ	P,ESTPR3		;[47] PRINT FILE DESCRIPTOR
1)		 JFCL				;[47]
1)		PR1	<CREATE DATE:#>
1)		POP	P,Q			;[47] RESTORE CREATE DATE
1)		PUSHJ	P,YRSMOS		;[47] PRINT IT
1)		PR1	<ACCESS DATE:#>
1)		POP	P,Q			;[47] GET ACCESS DATE
1)		JRST	YRSMOS			;[47] PRINT AND RETURN
1)82	;CREATE AN INFINITE UFD FOR THE USER IF HE NEEDS IT
****
2)82	;CREATE AN INFINITE UFD FOR THE USER IF HE NEEDS IT
**************



[END OF FAILSA.DOC]