                  <<< DOCD$:[NOTES$LIBRARY]SCT-RAVEN.NOTE;1 >>>
                         -< The SCT Raven conference >-
================================================================================
Note 794.0      RAVEN_FT1: SCS Directory lookup to HSJs by conma      No replies
EVMS::PERCIVAL "{VDE SCT}"                          542 lines  20-JUN-1997 09:13
--------------------------------------------------------------------------------
Title:     		  SCS Process Polling, Connection Manager polling HSxxs
Project:                  Bugfix
Author:                   Ian Percival
Component being changed:  VAX SYSLOA FACILITY CNXMAN.MAR
			  AXP SYSLOA FACILITY CNXMAN.MAR
Images affected:          AXP: SYS$CLUSTER.EXE 
			  VAX: SYS$CLUSTER.EXE 
			    
Date:                     09-June-1997
        
1. Change Information:

   Type of change:                    Bug fix..
   Where is the change being made:    VAX/AXP

	RAVEN_FT1

   Reviewed by:

	John Croll
	Dennis Van Eron
	Kevin Jenkins
	Greg Jordan
	Phil Norwich
	
   Checkin information:

2. Symptom Description:

    SCS will poll all disk controllers such as HSJ50s, etc, looking for the 
    VMS$VAXCLUSTER process name. As these controllers will never have the 
    connection manager code loaded, the lookups should be disabled.  This is a 
    small overhead as each node will only poll every PRCPOLINTERVAL which 
    is defaulted to 30 seconds.  Nevertheless, in a large cluster with many 
    controllers and many nodes, there will be a certain amount of unnecessary
    interconnect traffic and high IPL processing.
                          
3. Problem Statement:

    In module CNXMAN.MAR the initialisation routine, CNX$INIT, performs a
    universal poll enable by calling SCS$POLL_MODE with R2=0.  This tells 
    SCS to search every system block it knows about for a listening connection 
    manager sysap.  


4. Goals of this change:

    QAR EVMS_C_DESIGN #169 will be closed after this change.

    Disk controllers will no longer be polled for a sysap which will never
    be loaded on them.

5. Known Restrictions / Possible Limitations / Risks:   
	
    Controllers which do NOT load the MSCP server will continue to be 
    polled in the same way as they are today.  This has no effect on VAX 
    or AXP nodes which do not load the MSCP SERVER - it is only a restriction
    for disk controllers.  
        
6. Design / Algorithms:

    Use SCS to poll for MSCP$DISK on remote nodes.  Whenever it is located,
    determine whether the remote node is running VMS - or whether it is not.
    If it IS running OpenVMS, then turn of polling for the MSCP$DISK - the
    normal connection formation mechanisms for VMS$VAXcluster will still apply.
    If it is NOT running OpenVMS, then the conenction manager should never 
    poll it, so turn off polling for both MSCP$DISK and VMS$VAXCLUSTER.
	                                           
7. Testing:

    Using the new driver, use SDA to check the SB$B_ENBMSK field along with 
    the appropriate polling bit in the SPPB located on the SCS$GQ_POLL queue.
    All controllers should have the VMS$VAXcluster polling bit cleared, once a 
    state transition has occurred for a VAX or AXP in the cluster.
	
8. Documentation:
 
    None

9. Implementation:
   For AXP:-
************
File WORK8:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.MAR;22
    2   	.IDENT	'X-19'
    3   ;
******
File WORK8:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.ORIGINAL;1
    2   	.IDENT	'X-18'
    3   ;
************
************
File WORK8:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.MAR;22
   40   ;	X-19	JIP0011		Ian Percival		09-Jun-1997
   41   ;		Prevent unnecessary process polling overhead by removing
   42   ;		polls to disk controllers.
   43   ;		1. Add new section to CNX$INIT to poll for MSCP$DISK
   44   ;		2. Add new routine CNX$NEW_DISK_SYSTEM
   45   ;               3. Add new routine CNX$STOP_DISK_POLL and calls to it.
   46   ;  
   47   ;	X-18	DAG		Doug Gordon		22-Aug-1996
******
File WORK8:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.ORIGINAL;1
   40   ;
   41   ;	X-18	DAG		Doug Gordon		22-Aug-1996
************
************
File WORK8:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.MAR;22
  466   	$SPPBDEF			; SCS Process Polling Block
  467   	$SSDEF				; Status codes
******
File WORK8:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.ORIGINAL;1
  460   	$SSDEF				; Status codes
************
************
File WORK8:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.MAR;22
  498   MSCP_PROC_NAME:				; SYSAP name for MSCP server
  499   	.ASCII	"MSCP$DISK"
  500   	.REPT	16-<.-MSCP_PROC_NAME>
  501   	.ASCII	" "
  502   	.ENDR
  503   
  504   CLU$GL_ACKLIM::		.LONG 0		; Calculated ACKLIM
******
File WORK8:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.ORIGINAL;1
  491   CLU$GL_ACKLIM::		.LONG 0		; Calculated ACKLIM
************
************
File WORK8:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.MAR;22
  754   
  755   	MOVAB	L^CNX$NEW_DISK_SYSTEM,R0; Address of new disk system routine
  756   					; R1 still contains the CONMAN SPPB
  757   					; Store this in the new SPPB context
  758   					; field for later use...
  759   	MOVAB	L^MSCP_PROC_NAME,R2	; Address of process name
  760   	JSB	G^SCS$POLL_PROC		; Poll for copies of MSCP Server
  761   	CLRL	R2			; All systems at this time...
  762   	JSB	G^SCS$POLL_MODE		; Enable polling
  763                                           ; Do not worry about failure of the 
  764   					; disk polling - this will only leave
  765   					; things the same as the Day 1
  766   					; pre-Raven situation.
  767   
  768   	BSBW	CNX$CON_INIT		; Initialize configuration manager
******
File WORK8:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.ORIGINAL;1
  741   	BSBW	CNX$CON_INIT		; Initialize configuration manager
************
************
File WORK8:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.MAR;22
  990   	BSBW	CNX$STOP_DISK_POLL	; Disbale polling this system for disks
  991   	POPR	#^M<R2>			; Restore connection message addr
******
File WORK8:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.ORIGINAL;1
  963   	POPR	#^M<R2>			; Restore connection message addr
************
************
File WORK8:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.MAR;22
 1448   	BSBW	CNX$STOP_DISK_POLL	; Disbale polling this system for disks
 1449   	MOVB	#CSB$K_OPEN,-		; Mark connection open
******
File WORK8:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.ORIGINAL;1
 1420   	MOVB	#CSB$K_OPEN,-		; Mark connection open
************
************
File WORK8:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.MAR;22
 2823   	.SBTTL	CNX$NEW_DISK_SYSTEM - Detect new disk controllers
 2824   ;++
 2825   ; FUNCTIONAL DESCRIPTION:
 2826   ;
 2827   ;	CNX$NEW_DISK_SYSTEM - Detects whether the node in question is 
 2828   ;	a VMS node or is a disk controller.  If the new system is solely
 2829   ;	a disk controller, polling is disabled for both the connection
 2830   ;	manager and the MSCP$DISK service.  This reduces the anount of 
 2831   ;	polling overhead the connection manager imposes.
 2832   ;
 2833   ; CALLING SEQUENCE:
 2834   ;
 2835   ;	JSB	CNX$NEW_DISK_SYSTEM  - we are called here by the SCS Directory
 2836   ;		lookup services.
 2837   ;
 2838   ; INPUT PARAMETERS:
 2839   ;
 2840   ;	R0 is context longword - we use it for storage of the CONMAN SPPB
 2841   ;	R1 is address of process name
 2842   ;	R2 is address of system ID
 2843   ;	R3 is address of process information
 2844   ;	R4 is address of node name
 2845   ;	
 2846   ;
 2847   ; IMPLICIT INPUTS:
 2848   ;
 2849   ;	NONE
 2850   ;
 2851   ; OUTPUT PARAMETERS:
 2852   ;	NONE
 2853   ;
 2854   ; IMPLICIT OUTPUTS:
 2855   ;	SCS Polling will be disabled to non-OpenVMS nodes.
 2856   ;
 2857   ; COMPLETION CODES:
 2858   ;	
 2859   ;       R0 - 1 = disable polling to this system
 2860   ;	     0 = continue polling this system
 2861   ;
 2862   ; SIDE EFFECTS:
 2863   ;	
 2864   ;
 2865   ;--
 2866   CNX$NEW_DISK_SYSTEM:			; 
 2867   	.JSB_ENTRY INPUT=<R0,R1,R2>,OUTPUT=<R0>,SCRATCH=<R1>
 2868   	MOVL	R0,R4			; save the SPPB for CONMAN	
 2869   	MOVL	R2,R3			; Save the System ID address
 2870   	MOVL	R2,R1			; Address of System ID
 2871           CLRL	R2			; No output buffer
 2872   	JSB	G^SCS$CONFIG_SYS	; Locate the System Block for this node
 2873   	BLBC	R0,20$                  ; R1 = SB on success
 2874   	CMPL	SB$T_SWTYPE(R1),-       ; Is this a VMS node?  If so disbale
 2875   		#^A"VMS "		; polling ourselves....
 2876   	BNEQ    10$
 2877           MOVZBL	#SS$_NORMAL, R0		; Disable polling to this node
 2878   	RSB                             ; CONMAN will form its own connection
 2879   
 2880   10$:	CLRL	R0                      ; Disable Polling
 2881   	MOVL    R4,R1			; SPPB
 2882   	MOVL	R3,R2			; System ID address
 2883   	JSB	G^SCS$POLL_MODE		; Stop CONMAN polling a Disk Controller	
 2884   	RSB                             ; Success disables poll for  MCSP$DISK
 2885   
 2886   20$:	CLRL	R0                      ; Continue to poll on failure
 2887   	RSB
 2888   
 2889   
 2890   	.SBTTL	CNX$STOP_DISK_POLL - Stop looking for Disk Controllers
 2891   ;++
 2892   ; FUNCTIONAL DESCRIPTION:
 2893   ;
 2894   ;	CNX$STOP_DISK_POLL - This routine is called when a connection
 2895   ;	has been formed between this node and another's connection
 2896   ;	manager.  This means that we have established the identity of the 
 2897   ;	remote node - and so no longer need to poll for MSCP$DISK.
 2898   ; 
 2899   ; CALLING SEQUENCE:
 2900   ;
 2901   ;	JSB	CNX$STOP_DISK_POLL 
 2902   ;
 2903   ; INPUT PARAMETERS:
 2904   ;
 2905   ;	R2 is address of system ID
 2906   ;	
 2907   ;
 2908   ; IMPLICIT INPUTS:
 2909   ;	NONE
 2910   ;
 2911   ; OUTPUT PARAMETERS:
 2912   ;	NONE
 2913   ;
 2914   ; IMPLICIT OUTPUTS:
 2915   ;	SCS Polling for MSCP$DISK will be disabled to remote nodes.
 2916   ;
 2917   ; COMPLETION CODES:
 2918   ;	NONE
 2919   ;
 2920   ; SIDE EFFECTS:
 2921   ;	
 2922   ;
 2923   ;--
 2924   CNX$STOP_DISK_POLL:			; 
 2925   	.JSB_ENTRY INPUT=<R2>,OUTPUT=<>,SCRATCH=<R0,R1>
 2926           MOVAQ	G^SCS$GQ_POLL,R1	; get process polling block q head
 2927   	MOVL	R1,R0			; Save the Queue Head address
 2928   10$:	MOVL	(R1),R1			; Get Next SPPB
 2929   	CMPL	R1,R0			; Back to the Start?
 2930   	BEQL	20$
 2931   	PUSHR	#^M<R0,R1,R2>
 2932   	CMPC3	#16,L^MSCP_PROC_NAME,-  ; Is this ours?
 2933   		SPPB$B_PROCNAM(R1)
 2934           POPR	#^M<R0,R1,R2>
 2935   	BNEQ	10$                     ; 
 2936   	MOVAL	L^CNX$NEW_DISK_SYSTEM,-
 2937   		R4
 2938   	CMPL	SPPB$L_RTN(R1),R4	; Same Routine?
 2939   	BNEQ	10$
 2940           CLRL	R0			; Disable Polling
 2941   	JSB	G^SCS$POLL_MODE		; Turn it off...
 2942   20$:    RSB
 2943   
 2944   
 2945   
 2946   
 2947   	.END
******
File WORK8:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.ORIGINAL;1
 2794   	.END
************

Number of difference sections found: 8
Number of difference records found: 155

DIFFERENCES /IGNORE=()/MERGED=1/OUTPUT=WORK8:[PERCIVAL.CLD.SYSLOA.SRC]DIFF.TXT;3-
    WORK8:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.MAR;22-
    WORK8:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.ORIGINAL;1



   For VAX:-

************
File WORK302:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.MAR;5
    2   	.IDENT	'X-24'
    3   ;
******
File WORK302:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.ORIGINAL;1
    2   	.IDENT	'X-23'
    3   ;
************
************
File WORK302:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.MAR;5
   41   ;	X-24    JIP0011		Ian Percival		09-Jun-1997
   42   ;		Prevent unnecessary process polling overhead by removing
   43   ;		polls to disk controllers.
   44   ;		1. Add new section to CNX$INIT to poll for MSCP$DISK
   45   ;		2. Add new routine CNX$NEW_DISK_SYSTEM
   46   ;               3. Add new routine CNX$STOP_DISK_POLL and calls to it.
   47   ;
   48   ;	X-23	DAG		Doug Gordon		23-Aug-1996
******
File WORK302:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.ORIGINAL;1
   41   ;	X-23	DAG		Doug Gordon		23-Aug-1996
************
************
File WORK302:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.MAR;5
  432   	$SPPBDEF			; SCS Process Polling Block
  433   	$TQEDEF				; TQE offsets
******
File WORK302:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.ORIGINAL;1
  425   	$TQEDEF				; TQE offsets
************
************
File WORK302:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.MAR;5
  470   MSCP_PROC_NAME:				; SYSAP name for MSCP server
  471   	.ASCII	"MSCP$DISK"
  472   	.REPT	16-<.-MSCP_PROC_NAME>
  473   	.ASCII	" "
  474   	.ENDR
  475   
  476   CLU$GL_ACKLIM::         .LONG 0         ; Calculated ACKLIM
******
File WORK302:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.ORIGINAL;1
  462   CLU$GL_ACKLIM::         .LONG 0         ; Calculated ACKLIM
************
************
File WORK302:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.MAR;5
  727   
  728   	MOVAB	W^CNX$NEW_DISK_SYSTEM,R0; Address of new disk system routine
  729   					; R1 still contains the CONMAN SPPB
  730   					; Store this in the new SPPB context
  731   					; field for later use...
  732   	MOVAB	L^MSCP_PROC_NAME,R2	; Address of process name
  733   	JSB	G^SCS$POLL_PROC		; Poll for copies of MSCP Server
  734   	CLRL	R2			; All systems at this time...
  735   	JSB	G^SCS$POLL_MODE		; Enable polling
  736                                           ; Do not worry about failure of the 
  737   					; disk polling - this will only leave
  738   					; things the same as the Day 1
  739   					; pre-Raven situation.
  740   	BSBW	CNX$CON_INIT		; Initialize configuration manager
******
File WORK302:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.ORIGINAL;1
  713   	BSBW	CNX$CON_INIT		; Initialize configuration manager
************
************
File WORK302:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.MAR;5
  766   ;	R0 is context longword - unused by this sysap
  767   ;	R1 is address of process name
******
File WORK302:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.ORIGINAL;1
  739   ;	R0 is context (nothing interesting)
  740   ;	R1 is address of process name
************
************
File WORK302:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.MAR;5
  770   ;	R4 is address of node name
  771   ;
******
File WORK302:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.ORIGINAL;1
  743   ;
************
************
File WORK302:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.MAR;5
  949   	BSBW	CNX$STOP_DISK_POLL	; Disbale polling this system for disks
  950   	POPR	#^M<R2>			; Restore connection message addr
******
File WORK302:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.ORIGINAL;1
  921   	POPR	#^M<R2>			; Restore connection message addr
************
************
File WORK302:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.MAR;5
 1400   	BSBW	CNX$STOP_DISK_POLL	; Disbale polling this system for disks
 1401   	MOVB	#CSB$K_OPEN,-		; Mark connection open
******
File WORK302:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.ORIGINAL;1
 1371   	MOVB	#CSB$K_OPEN,-		; Mark connection open
************
************
File WORK302:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.MAR;5
 2763   
 2764   
 2765   	.SBTTL	CNX$NEW_DISK_SYSTEM - Detect new disk controllers
 2766   ;++
 2767   ; FUNCTIONAL DESCRIPTION:
 2768   ;
 2769   ;	CNX$NEW_DISK_SYSTEM - Detects whether the node in question is 
 2770   ;	a VMS node or is a disk controller.  If the new system is solely
 2771   ;	a disk controller, polling is disabled for both the connection
 2772   ;	manager and the MSCP$DISK service.  This reduces the anount of 
 2773   ;	polling overhead the connection manager imposes.
 2774   ;
 2775   ; CALLING SEQUENCE:
 2776   ;
 2777   ;	JSB	CNX$NEW_DISK_SYSTEM  - we are called here by the SCS Directory
 2778   ;		lookup services.
 2779   ;
 2780   ; INPUT PARAMETERS:
 2781   ;
 2782   ;	R0 is context longword - we use it for storage of the CONMAN SPPB
 2783   ;	R1 is address of process name
 2784   ;	R2 is address of system ID
 2785   ;	R3 is address of process information
 2786   ;	R4 is address of node name
 2787   ;	
 2788   ;
 2789   ; IMPLICIT INPUTS:
 2790   ;
 2791   ;	NONE
 2792   ;
 2793   ; OUTPUT PARAMETERS:
 2794   ;	NONE
 2795   ;
 2796   ; IMPLICIT OUTPUTS:
 2797   ;	SCS Polling will be disabled to non-OpenVMS nodes.
 2798   ;
 2799   ; COMPLETION CODES:
 2800   ;	
 2801   ;       R0 - 1 = disable polling to this system
 2802   ;	     0 = continue polling this system
 2803   ;
 2804   ; SIDE EFFECTS:
 2805   ;	
 2806   ;
 2807   ;--
 2808   CNX$NEW_DISK_SYSTEM:			; 
 2809   	MOVL	R0,R4			; save the SPPB for CONMAN	
 2810   	MOVL	R2,R3			; Save the System ID address
 2811   	MOVL	R2,R1			; Address of System ID
 2812           CLRL	R2			; No output buffer
 2813   	JSB	G^SCS$CONFIG_SYS	; Locate the System Block for this node
 2814   	BLBC	R0,20$                  ; R1 = SB on success
 2815   	CMPL	SB$T_SWTYPE(R1),-       ; Is this a VMS node?  If so disbale
 2816   		#^A"VMS "		; polling ourselves....
 2817   	BNEQ    10$
 2818           MOVZBL	#SS$_NORMAL, R0		; Disable polling to this node
 2819   	RSB                             ; CONMAN will form its own connection
 2820   
 2821   10$:	CLRL	R0                      ; Disable Polling
 2822   	MOVL    R4,R1			; SPPB
 2823   	MOVL	R3,R2			; System ID address
 2824   	JSB	G^SCS$POLL_MODE		; Stop CONMAN polling a Disk Controller	
 2825   	RSB                             ; Success disables poll for  MCSP$DISK
 2826   
 2827   20$:	CLRL	R0                      ; Continue to poll on failure
 2828   	RSB
 2829   
 2830   	.SBTTL	CNX$STOP_DISK_POLL - Stop looking for Disk Controllers
 2831   ;++
 2832   ; FUNCTIONAL DESCRIPTION:
 2833   ;
 2834   ;	CNX$STOP_DISK_POLL - This routine is called when a connection
 2835   ;	has been formed between this node and another's connection
 2836   ;	manager.  This means that we have established the identity of the 
 2837   ;	remote node - and so no longer need to poll for MSCP$DISK.
 2838   ; 
 2839   ; CALLING SEQUENCE:
 2840   ;
 2841   ;	JSB	CNX$STOP_DISK_POLL 
 2842   ;
 2843   ; INPUT PARAMETERS:
 2844   ;
 2845   ;	R2 is address of system ID
 2846   ;	
 2847   ;
 2848   ; IMPLICIT INPUTS:
 2849   ;	NONE
 2850   ;
 2851   ; OUTPUT PARAMETERS:
 2852   ;	NONE
 2853   ;
 2854   ; IMPLICIT OUTPUTS:
 2855   ;	SCS Polling for MSCP$DISK will be disabled to remote nodes.
 2856   ;
 2857   ; COMPLETION CODES:
 2858   ;	NONE
 2859   ;
 2860   ; SIDE EFFECTS:
 2861   ;	
 2862   ;
 2863   ;--
 2864   CNX$STOP_DISK_POLL:			; 
 2865   	PUSHR	#^M<R2,R3,R4,R5>
 2866           MOVAQ	G^SCS$GQ_POLL,R1	; get process polling block q head
 2867   	MOVL	R1,R0			; Save the Queue Head address
 2868   10$:	MOVL	(R1),R1			; Get Next SPPB
 2869   	CMPL	R1,R0			; Back to the Start?
 2870   	BEQL	20$
 2871   	PUSHR	#^M<R0,R1,R2>
 2872   	CMPC3	#16,L^MSCP_PROC_NAME,-  ; Is this ours?
 2873   		SPPB$B_PROCNAM(R1)
 2874           POPR	#^M<R0,R1,R2>
 2875   	BNEQ	10$                     ; 
 2876   	MOVAL	L^CNX$NEW_DISK_SYSTEM,-
 2877   		R4
 2878   	CMPL	SPPB$L_RTN(R1),R4	; Same Routine?
 2879   	BNEQ	10$
 2880           CLRL	R0			; Disable Polling
 2881   	JSB	G^SCS$POLL_MODE		; Turn it off...
 2882   20$:    POPR	#^M<R2,R3,R4,R5>
 2883   	RSB
 2884   
 2885   
 2886   
 2887   
 2888   	.END
******
File WORK302:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.ORIGINAL;1
 2733   	.END
************

Number of difference sections found: 10
Number of difference records found: 157

DIFFERENCES /IGNORE=()/MERGED=1/OUTPUT=WORK302:[PERCIVAL.DOCS]DIFF.TXT;18-
    WORK302:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.MAR;5-
    WORK302:[PERCIVAL.CLD.SYSLOA.SRC]CNXMAN.ORIGINAL;1
