% Librarian A09-30M?buXM?buX5 LDM?buX1 LD? The logical disk utility is a system management tool available0 to any user for controlling logical disk usage.= A Logical Disk is a file available on a Physical Disk, which9 acts as a real Physical Disk (the file may or may not be> contiguous). The Logical Disks are available in any directory of the Physical Disk.@ A large disk can be divided into smaller sections, each a Logi-B cal Disk, supporting the same I/O functions as the Physical Disk.= By giving t he Logical Disk File a good protection level and? mounting it private or with device protection, you are able to7 add a number of protection levels to your file system.< The logical disk is controlled by the LD utility, which can be directly invoked from DCL. Format:% LD [/qualifiers] [Filespec] [Device]= Starting with V9.0 LD can also treat files on disk as a tapeA (Logical Magtape, a.k. LM). all commands are the same as for LD,3 but instead of LD one needs to use the LM com mand.2 Author: The author of this piece of software is Jur van der Burg, Kaatsheuvel, The Netherlands.9 In case of problems/questions/suggestions please contact$ the author at lddriver@digiater.nl.8 For more info and updates please visit www.digiater.nl. 2 ANALYZE LM ANALYZE filespecE This command will verify the integrity of the container file. It canG only be used for virtual tapes, disks have their own format (ODS-2/5).F Notice that analyzing a container file wh ile it is still connected toF an LM device may give unpredictable results as some data may still beD cached in memory. Disconnecting the device will flush the data back to disk. 3 /CONTINUE /CONTINUEH This qualifier allows analyze to attempt to continue after encountering an error.3 /DATA /DATA@ This qualifier will dump the datarecords in both Hex and Ascii. 3 /DIRECTORY /DIRECTORY [=HEX,DECIMAL]B This qualifier will dump the tape directory records in eith er Hex1 or Decimal format, where decimal is the default. 3 /OUTPUT /OUTPUT[=filespec]B This qualifier forces THE output of the analysis to be written to the specified file. 3 /RECORDS /RECORDS [=HEX,DECIMAL]C This qualifier will dump the tape records in either Hex or Decimal& format, where decimal is the default.2 Command_summary@ LD CREATE [/LOG] [/SIZE=xxx] [/BACKUP] [/CONTIGUOUS] [/LBN=xxx]8 [/TRACKS=xxx] [/SECTORS=xxx] [/CYLINDERS=xxx] [/ERASE]5 [/MAXBLOCK S=xxx] [/CLONE=device] [/EXTEND] Filespec@ LD CONNECT [/LOG] [/SYMBOL] [/REPLACE] [/SHARE] [/CLONE=device]7 [/TRACKS=xxx] [/SECTORS=xxx] [/CYLINDERS=xxx] [/FULL]3 [/MAXBLOCKS=xxx] [/ALLOCLASS=xxx] [/AUTOGEOMETRY]: [/OVERRIDE] [/SAVE] [/LBN=(START=xxx,END=xxx,COUNT=xxx)]: [/LOGICAL=(NAME=logical-name[,TABLE=table][,MODE=mode])]; [/LOCK] [/FORCED_ERROR] [/INIT] [/[NO]LOAD] [/EXTEND[=n]]+ [/LIMIT=n] Filespec [LDan:] [Logicalname]1 LD LOAD Filespec LDan: (Qualifiers like CONNECT)3 LD SWITCH Filespec LDan: (Qualifiers like CONNECT)7 LD DISCONNECT [/ALL] [/LOG] [/ABORT] [/TRUNCATE] LDan:# LD UNLOAD [/LOG] [/TRUNCATE] LDan:> LD TRACE [/ACCURATE] [/FDT] [/SIZE=xxx] [/RESET] [/ALL] LDan: LD TRACE/STOP [/ALL] [LDan:] LD NOTRACE LDan:A LD WATCH LDan: lbn [,lbn...] [/FUNCTION=READ,WRITE,ALL,CODE=xxx]+ [/ACTION=SUSPEND,CRASH,OPCOM,ERROR[=xxx]] [/FILE=filespec], LD NOWATCH LDan: [lbn [,lbn...]] [/INDEX=n]1 LD WATCH/RESUME LDan: [lbn [,lbn...]] [/INDEX=n] LD PROTECT [/PERMANENT] LDan: LD NOPROTECT [/PERMANENT] LDan: LD SHOW [/ALL] [/FULL] [LDan:]$ LD SHOW/WATCH LDan: [lbn [,lbn...]]F LD SHOW/TRACE [/STATUS] [/RESET] [/OUTPUT=Filespec] [/INPUT=filespec]: [/BINARY] [/ENTRIES=[(XXX,YYY)]] [/HEADER] [/CONTINUOUS]0 [/VERSION_LIMIT=xxx] [/BLOCKS=xxx] [/WARNINGS]& [/NUMBER] [/PID] [/LBN] [/BYTECOUNT]( [/IOSB[=COMBINATION,TEXT,HEX,LONGHEX]]= [/TIMESTAMP[=ABSOLUTE,ELAPSED,COMBINATION,DELTA,START,END]]; [/FUNCTION[=TEXT,HEX]] [/ACCURATE] [/FDT] [/SYMBOL] LDan:G LD ANALYZE [/RECORDS[=HEX,DECIMAL]] [/DATA] [/DIRECTORY[=HEX,DECIMAL]]) [/CONTINUE] [/OUTPUT=Filespec] Filespec LD HELP [command] LD VERSION2 Driver_functions> The LDDRIVER understands all functioncodes normally available: for disks. Some special functions are used to control the: logical disk driver. When loaded as a tape (LMax) it will understand tape functioncodes.9 All functions assume that a channel has been assigned to? the device on which to operate. One exception is the 'Connect'? function which needs a channel to LDA0:. This will then create1 a new device (because LDA0: is a cloned device).= A file with LDdriver specific definitions is included in the> kit (LDDEF.H). This file will be included in VMS from version V8.2-1 and up.: The only function to control the driver is IO$_LD_CONTROL which is defined in LDDEF.H.7 A sub-function must be given as P6 of the QIO request. 3 Connect1 This function connects a file to a logical disk: Method 1 (old): Function: IO$_LD_CONTROLA P1 = address of SBK block (Attributes Statistics Block) returnedB by XQP IO$_ACCESS!IO$M_ACCESS function used to open the file to connect.> P2 = logical disk size. If 0, the allocated size will be used! P3 = Number of tracks (optional)" P4 = Number of sectors (optional)$ P5 = Number of cylinders (optional)! P6 = Subfunction: LDIO$K_CONNECT Method 2 (new, preferred): Function: IO$_LD_CONTROL3 P1 = address of itemlist describing the connection3 P6 = Subfunction: LDIO$K_CONNECT | LDIO$M_ITEMLIST: The P6 argument may also contain the following sub-flags:) LDIO$M_LOCK Will lock the container file6 LDIO$M_NOFE Will set the NOFE bit to prevent handling forced errors.+ The itemlist consist of entries like this:- BUFLEN (word) - Length of buffer. ITEM (word) - Item description: LDITM$K_CHANNEL LDITM$K_EXTENDSIZE LDITM$K_EXTENDLIMIT  LDITM$K_DEVICENAME LDITM$K_FILEID  LDITM$K_STARTLBN LDITM$K_ENDLBN LDITM$K_FLAGS LDITM$K_TRACKS LDITM$K_CYLINDERS LDITM$K_SECTORS LDITM$K_MAXBLOCKS. ADDR (longword) - Pointer to buffer1 RLENGTH (longword) - Returned data length+ The following flags are for tape use only:( LDIO$M_INIT Will init the tape metadataE LDIO$M_NOLOAD Will create the unit without an attached containerfile> LDIO$M_LOADONLY Will load a containerfile to an existing unit/ LDIO$M_EXTEND Extend containerfile on demandC This function connects a complete physical disk to a logical disk: Function: IO$_LD_CONTROL8 P1 = descriptor of buffer which contains device name of physical device2 P6 = Subfunction: LDIO$K_CONNECT | LDIO$M_REPLACEB This function connects a partial physical disk to a logical disk: Function: IO$_LD_CONTROL8 P1 = descriptor of buffer which contains device name of physical device) P2 = Starting LBN (logical block number) P3 = Ending LBN P4 = Number of LBN's. P6 = Subfunction: LDIO$K_CONNECT | LDIO$M_LBN# Either P3 or P4 must be specified. IOSB word 0 = status Errors returned:' SS$_DEVACTIVE Device already connected> SS$_FORMAT FCB specified in SBK is invalid or file not opened8 SS$_ACCVIO One of the parameters cannot be read/written@ SS$_IVDEVNAM Attempt to connect to devicetype other than a disk0 SS$_FILNOTCNTG Logical di sk file not contiguous4 SS$_DATAOVERUN Filename of file to connect too longB SS$_FILALRACC File already in use (may be on other cluster nodes)9 SS$_ILLKLKNUM Disk size specified in P2 past end of file+ SS$_IVADDR Disk bigger than 2097151 blocks! SS$_NORMAL Successful completion4 SS$_BADPARAM Invalid geometry information specifiedA SS$_NOSUCHNODE Shared access was specified while no cluster code is loaded? SS$_ACCONFLICT Shared access was specified while the device is not cluster-wide visible: SS$_WRONGACP Container file is not on ODS-2 or ODS-5 diskJ SS$_WRONGSTATE Container file is not opened without caching (V8.2 and up)V SS$_BADFILESIZE Container file too small (needs at least 5000 blocks) (Only for tape)8 The following errors are returned for LDIO$M_REPLACE or LDIO$M_LBN only:& SS$_DEVFOREIGN Device foreign mounted SS$_DEVMOUNT Device mounted& SS$_DEVALLOC Device already allocated= Other possible errors are errors returned by the lockmanager# and errors returned by IOC$SEARCH. 3 Disconnect@ This function disconnects a file or device from a logical disk: Function: IO$_LD_CONTROL$ P6 = Subfunction: LDIO$K_DISCONNECT IOSB word 0 = statusH The subfunctionmodifier LDIO$M_ABORT allows the file to be disconnected regardless of it's state.) The following flag is for tape use only:< LDIO$M_KEEP Will disconnect the container file but keep the unit available for reuse.E LDIO$M_TRUNCATE Will truncate the container file to the last written7 block (valid only of the containerfile was connected with extend enabled). Errors returned:& SS$_DEVFOREIGN Device mounted foreign SS$_DEVMOUNT Device mounted% SS$_BADFILEHDR Bad logical disk file8 SS$_DEVASSIGN Device still active (reference count > 0)" SS$_DEVINACT Device not connected+ SS$_FORMAT FCB specified in SBK is invalid) SS$_ACCVIO SBK block cannot be read! SS$_NORMAL Successful completion> Other possible errors are errors returned by the lockmanager.3 Display_status= This function retrieves the current status of a LDAn device: Function: IO$_LD_CONTROL Method 1 (old):> P1 = address of buffer which receives the device- or filename currently connected; P2 = size of buffer which receives the device- or filename@ P3 = address of 3 word buffer which receives the file-id of the connected file> P4 = Address of buffer to receive start lbn (for lbn mapping)< P5 = Address of buffer to receive end lbn (for lbn mapping)( P6 = Subfunction: LDIO$K_GET_CONNECTION Method 2 (new, preferred):3 P1 = address of itemlist describing the connection9 P6 = Subfunction: LDIO$K_GET_CONNECTION |LDIO$M_ITEMLIST+ The itemlist consist of entries like this:- BUFLEN (word) - Length of buffer. ITEM (word) - Item description: LDITM$K_EXTENDSIZE LDITM$K_EXTENDLIMIT LDITM$K_DEVICENAME LDITM$K_FILEID  LDITM$K_STARTLBN LDIT M$K_ENDLBN LDITM$K_FLAGS. ADDR (longword) - Pointer to buffer1 RLENGTH (longword) - Returned data length IOSB word 0 = status/ word 1 = number of characters transferred7 longword 1 = status flag bit 0 : 0 = disconnected4 1 = connected< bit 1 : 0 = normal connection9 1 = replaced drive< bit 2 : 0 = normal connection B 1 = replaced to DECRAM disk8 bit 3 : 0 = normal access: 1 = write protected7 bit 4 : 0 = local access8 1 = shared access8 bit 8 : 0 = normal timing: 1 = accurate timing7 bit 9 : 0 = normal trace;  1 = FDT trace active< bit 10: 0 = normal connection; 1 = LBN mapping used< The buffer specified in the P1 parameter is only valid when3 the unit is connected (IOSB longword 1 bit 0 set).? If a buffersize of 0 is specified only the status is returned.+ The itemlist consist of entries like this: Errors returned:% SS$_ACCVIO Buffer can not be written" SS$_DEVINACT Device not connected! SS$_NORMAL Succ essful completion3 Disable_protect" This function unprotects a drive: Function: IO$_LD_CONTROL) P6 = Subfunction: LDIO$K_DISABLE_PROTECT IOSB word 0 = status Errors returned:! SS$_NORMAL Successful completion3 Disable_trace This function disables tracing: Function: IO$_LD_CONTROL' P6 = Subfunction: LDIO$K_DISABLE_TRACE IOSB word 0 = status Errors returned: SS$_NODATA Trace is not active! SS$_NORMAL Successful completion3 Disable_wa!tch$ This function disables watchpoints: Function: IO$_LD_CONTROL# P1 = address of watchpt structures9 P2 = number of watchpt structures, if 0 all entries will be removed' P6 = Subfunction: LDIO$K_DISABLE_WATCH= The watchpt structure (if specified) must contain a matching; lbn, action, function, flags and returncode. These can all1 be retrieved with the LDIO$K_GET_WATCH function. IOSB word 0 = status0 longword 1 = current number of watchpoints Errors retu"rned:# SS$_DATALOST No active watchpoints( SS$_DATACHECK Specified entry not found! SS$_NORMAL Successful completion3 Enable_protect& This function write-protects a drive: Function: IO$_LD_CONTROL( P6 = Subfunction: LDIO$K_ENABLE_PROTECT IOSB word 0 = status Errors returned:! SS$_NORMAL Successful completion3 Enable_trace This function enables tracing: Function: IO$_LD_CONTROL0 P1 = number of trace buffer packets to allocate& P6 = Subfunction: LDI#O$K_ENABLE_TRACE IOSB word 0 = status< To reset the tracebuffer the additional subfunctionmodifier: LDIO$M_RESET can be specified. No new tracebuffer will be allocated when that is done.= Requests for FDT tracing need to add the subfunctionmodifier LDIO$M_FDTTRACE.5 Requests for accurate timing tracing need to add the% subfunctionmodifier LDIO$M_ACCURATE.< Specifying LDIO$M_TRACE_ALL will enable tracing of requests2 going to the container file as well (tapes only). Err$ors returned:$ SS$_ACCVIO Parameter cannot be read( SS$_BADPARAM Zero buffer size specified1 SS$_EXBYTLM Exceeded BYTLM quota for the process7 SS$_INSFMEM Not enough memory to allocate trace buffer( SS$_TOOMUCHDATA Trace is already active! SS$_NORMAL Successful completion3 Enable_watch# This function enables watchpoints: Function: IO$_LD_CONTROL# P1 = address of watchpt structures" P2 = number of watchpt structures& P6 = Subfunction: LDIO$K_ENABLE_WATCH8 The watchpt s%tructure must contain a valid lbn, action, function, flags and returncode. IOSB word 0 = status0 longword 1 = current number of watchpoints Errors returned:" SS$_ACCVIO Buffer can not be read6 SS$_NOPRIV Action needs ownership of device or CMKRNL6 SS$_NOCMKRNL CMKRNL privilege needed for CRASH action2 SS$_EXBYTLM Out of BYTLIM quota for watch buffers7 SS$_DEVREQERR FILE watchpoint must be on the LD device< SS$_ILLBLKNUM Watchpoint past end of file or end of disk or VBN z&ero specified for fileA SS$_BADPARAM Zero buffer length specified or action out of range> SS$_FORMAT FCB specified in SBK is invalid or file not opened with cathedral windows< SS$_INSFMEM Not enough memory to allocate watchpoint buffer! SS$_NORMAL Successful completion3 Get_suspend_list; This function retrieves the list of suspended watchpoints: Function: IO$_LD_CONTROL( P1 = address of suspend_list structures* P2 = size in bytes of suspend_list buffer* P6 = Subfunction: L'DIO$K_GET_SUSPEND_LIST9 This function reads the number of suspended watchpoints: Function: IO$_LD_CONTROL; P6 = Subfunction: LDIO$K_GET_SUSPEND_LIST | LDIO$M_INQUIRE IOSB word 0 = status& word 1 = number of bytes written: longword 1 = current number of suspended watchpoints Errors returned:; SS$_INSFMEM Not enough memory to allocate temporary buffer% SS$_ACCVIO Buffer can not be written# SS$_DATALOST No active watchpoints% SS$_IVBUFLEN Output buffer too smal(l! SS$_NORMAL Successful completion 3 Get_version, This function retrieves the driver version. Function: IO$_LD_CONTROL< P1 = address of a longword to get the driver version format (Currently 1)< P2 = address of a quadword to receive the driver's linktime% P6 = Subfunction: LDIO$K_GET_VERSION IOSB word 0 = status Errors returned:% SS$_ACCVIO Buffer can not be written! SS$_NORMAL Successful completion. SS$_SYNCH Successful completion (MON version)3 Get_)metadata: This function retrieves the tape metadata. See LDSTRDEF.H@ in the source kit for the layout of the buffer (struct LDTPMD). Function: IO$_LD_CONTROL7 P1 = address of a data buffer to retrieve the metadata) P2 = buffer length (should be 512 bytes)& P6 = Subfunction: LDIO$K_GET_METADATA IOSB word 0 = status Errors returned:% SS$_ACCVIO Buffer can not be written! SS$_NODATA No metadata available SS$_BUFFEROVF Buffer too small! SS$_NORMAL Successful completion* 3 Get_watch% This function retrieves watchpoints: Function: IO$_LD_CONTROL# P1 = address of watchpt structures% P2 = size in bytes of watchpt buffer# P6 = Subfunction: LDIO$K_GET_WATCH/ This function reads the number of watchpoints: Function: IO$_LD_CONTROL4 P6 = Subfunction: LDIO$K_GET_WATCH | LDIO$M_INQUIRE IOSB word 0 = status& word 1 = number of bytes written0 longword 1 = current number of watchpoints Errors returned:; SS$_INSFMEM Not eno+ugh memory to allocate temporary buffer% SS$_ACCVIO Buffer can not be written# SS$_DATALOST No active watchpoints% SS$_IVBUFLEN Output buffer too small! SS$_NORMAL Successful completion3 Load> This function loads a container file to an existing tapeunit. Function: IO$_LD_CONTROL P6 = Subfunction: LDIO$K_LOAD< For all other parameters see the description of the Connect driver function.3 Read_tracebuffer* This function reads the tracebuffer size: Function: IO$_L,D_CONTROL4 P6 = Subfunction: LDIO$K_GET_TRACE | LDIO$M_INQUIRE IOSB word 0 = status word 1 = 07 longword 1 = tracebuffer size (number of packets)8 If the iosb status is SS$_WASSET FDT tracing is active.* This function reads the tracebuffer data: Function: IO$_LD_CONTROL1 P1 = address of buffer which receives trace info# P2 = size of trace buffer in bytes# P6 = Subfunction: LDIO$K_GET_TRACE IOSB word 0 = status word 1 = 00 longword 1 = number -of packets transferred% or the number of lost packets in case of SS$_DATAOVERRUN.4 If the return status was SS$_DATAOVERRUN the buffer2 contains the number of packets as returned by the, LDIO$K_GET_TRACE | LDIO$M_INQUIRE function.; To read the tracebuffer data and to reset the buffer after@ the data has been read the subfunctionmodifier LDIO$M_RESET can be specified.@ If LDIO$M_NOWAIT is omitted the I/O request will wait until new trace data is available. Errors retu.rned:% SS$_ACCVIO Buffer can not be written SS$_NODATA Trace is not active8 SS$_IVBUFLEN Buffer too small to contain all trace data1 SS$_DATAOVERRUN The tracebuffer has been overrun! SS$_NORMAL Successful completion3 Reset_tracebuffer& This function resets the tracebuffer: Function: IO$_LD_CONTROL% P6 = Subfunction: LDIO$K_RESET_TRACE IOSB word 0 = status Errors returned: SS$_NODATA Trace is not active! SS$_NORMAL Successful completion3 Resume_watch/. This function resumes a suspended watchpoint: Function: IO$_LD_CONTROL( P1 = address of suspend_list structures* P2 = size in bytes of suspend_list buffer& P6 = Subfunction: LDIO$K_RESUME_WATCH IOSB word 0 = status& word 1 = number of bytes written Errors returned:; SS$_INSFMEM Not enough memory to allocate temporary buffer% SS$_ACCVIO Buffer can not be written# SS$_DATALOST No active watchpoints SS$_DATACHECK Nothing resumed! SS$_NORMAL Successful completion03 Set_allocation_class@ This function enables presetting of the allocation class of the@ LD device. This may only be done when no devices are connected. Function: IO$_LD_CONTROL P1 = allocation class' P6 = Subfunction: LDIO$K_SET_ALLOCLASS IOSB word 0 = status Errors returned:. SS$_BADPARAM Allocation class > 255 specified0 SS$_UNSAFE There are still connected LD devices! SS$_NORMAL Successful completion3 Set_unitnumber6 This function enables presetting of the n1ext assigned unitnumber. Function: IO$_LD_CONTROL P1 = unitnumber to preset" P6 = Subfunction: LDIO$K_SET_SEED IOSB word 0 = status Errors returned:9 SS$_BADPARAM Unitnumber less than 0 or greater than 9999! SS$_NORMAL Successful completion3 Unload8 This function unloads a container file from a tapeunit. Function: IO$_LD_CONTROL P6 = Subfunction: LDIO$K_UNLOAD? For all other parameters see the description of the Disconnect driver function.3 Other_ 2features= After modification of the driver it is possible to RELOAD it@ without rebooting the system, provided that the size of the UCB? did not change. If the reloaded driver detects a different UCB= size, the unit will be placed off-line and the system has to3 be rebooted. The reload is only possible on a VAX.@ If there is still a file or device connected to any LDAn device= the driver cannot be reloaded. In that case all LDAn devices have to be disconnected first.; If a traceb3uffer is allocated before reloading, it will be* deallocated. All trace data will be lost.2 Error_messages> A number of error messages can be returned by the LD utility. 3 ACCURATE- %LD-I-ACCURATE, Accurate timing is activeF An LD SHOW/TRACE/STATUS command was given while accurate trace timing is active.' This status is only returned on Alpha. 3 ALLOCLASS. %LD-F-ALLOCLASS, Allocation class mismatchC An LD CONNECT/SHARE command was given where the current alloc4ationC class of the specified LD device was different on the current node: then on another cluster node where the file is connected. 3 ALREADYCONN- %LD-F-ALRDYCONN, Device already connected= An LD CONNECT command is given while the logical disk device was already connected. 3 ANALYZEERRI %LM-F-ANALYZEERR, Container file structure error at logical block 213C An LM ANALYZE command is given where the tape container file has a' structural error at logical block 213.5 3 ANALYZEOKC %LM-I-ANALYZEOK, Container file structure successfully verifiedA An LM ANALYZE command is given where the tape container file has no errors.3 BADALLOCLASS6 %LD-F-BADALLOCLASS, Bad allocation class specifiedC An LD CONNECT/ALLOCLASS command was given with an allocation class bigger than the limit of 255.3 BADDEVSYNTAX1 %LD-F-BADDEVSYNTAX, Bad device syntax (LDAZ:)9 A unit to use as a logical disk was specified with a bad syntax. 3 BADENT6PARAM0 %LD-F-BADENTPARAM, Bad /ENTRIES parameter(s)< An LD SHOW/TRACE/ENTRIES command was given where either theC second parameter was less than the first, or one of the parameters was less than 0. 3 BADUNIT+ %LD-F-BADUNIT, Bad unit number LDAnnnnn8 An LD command was given where the unit number is out of1 range. A valid unit numer ranges from 1 to 9999. 3 BLANKTAPE( %LM-I-BLANKTAPE, Blank tape detectedA An LM ANALYZE command is given where the tape container7 file has not been used before.3 BLKOUTOFRANGE, %LD-F-BLKOUTOFRANGE, Blocks out of rangeG An LD CONNECT/LBN=(START=x,END=y) command was given where the startingI end ending blocks are outside the LBN's of the source device. This errorF can also occur on an LD CONNECT/LBN=(START=x,COUNT=y) command where y/ would cause LD to go past the end of the disk.3 CANTREADOLDFMTD %LD-F-CANTREADOLDFMT, Can't read old format datafile (Version 2)9 An attempt was made to read a dat8afile which was created= with an old version of LD. Use the old version of LD to read the file.3 CLONENOTMOUNTED7 %LD-F-CLONENOTMOUNTED, Clone device must be mounted@ A CREATE/CLONE=dev or CONNECT/CLONE=dev command was given where 'dev' was not mounted. 3 CLOSERRD %LD-F-CLOSERR, Unable to close file $1$DUA0:[DATA]LD_TRACE.LOG;1A An LD SHOW/TRACE/{IN,OUT}PUT command was given, and the close of& the in- or output file had a problem. 3 CONFQUAL* %LD-F-CONFQU9AL, Conflicting qualifiers= Conflicting qualifiers were given for the specified command. Check the documentation. 3 CONNECTED9 %LD-I-CONNECTED, Device _THEBUG$LDA1: is connected to $1$DUA1:[DIR]DISKFILE.DSK;1; An LD CONNECT/LOG command is given, or an LD SHOW command.M %LD-I-CONNECTED, Device _THEBUG$LDA1: is connected to $1$DUA1: (Replaced)C An LD CONNECT/LOG/REPLACE command is given, or an LD SHOW command." The complete device was replaced.3 CONTTOOSMALL:F %LD-F-CONTTOOSMALL, Container file too small (5000 blocks minimum)C An LM CONNECT command was given where the containerfile is smallerC than 5000 blocks. Due to buffering in the driver a minimum size of; the containerfile is needed, unless /EXTEND was specified.3 CONTTRACEACT@ %LD-F-CONTTRACEACT, Continuous tracing is already active for device _THEBUG$LDA1:A An LD SHOW/TRACE/CONTINUOUS command was given while such command- for the same device was already in progress.;3 CONTTRACENOTACT? %LD-F-CONTTRACENOTACT, Continuous tracing is not active for device _THEBUG$LDA1:: An LD TRACE/STOP command was given for a specified device< while there was no continuous trace active for that device. 3 CREATED; %LD-I-CREATED, File $1$DUA1:[DIR]DISKFILE.DSK;1 created# An LD CREATE/LOG command is given. 3 CREATERRA %LD-F-CREATERR, Unable to create file $1$DUA0:[TMP]DATA.DSK;1; An LD CREATE command was given, but the command was unable<7 to complete. The accompanying message shows more info. 3 CYLINDERS' %LD-F-CYLINDERS, Cylinders mismatch: An LD CONNECT/SHARE command was given where the number ofF cylinders did not match the number of cylinders for the containerfile on another node. 3 DETECTEDERR+ %LD-F-DETECTEDERR, Detected fatal error= A general fatal error was detected. Look at the accompanying errormessage. 3 DEVASSIGN1 %LD-F-DEVASSIGN, Device has channels assigned; An LD DISCO=NNECT command was given on a device with active< channels. Most probably an LD SHOW/TRACE/CONTINUOUS command is still active.3 DEVCONNECTEDJ %LD-F-DEVCONNECTED, Cannot set allocation class with active LD devicesC An LD CONNECT/ALLOCLASS command was given while there were alreadyA LD devices connected. All devices have to be disconnected before an allocation class can be set. 3 DEVICEINUSEP %LD-F-DEVICEINUSE, Device incompatible connected to other LD disk in clusterC> An LD CONNECT command is given where the device to be replaced wasH already in use by another logical disk or by VMS, either on this system# or on another system in a cluster. 3 DEVICENAME) %LD-F-DEVICENAME, Devicename mismatch@ An LD CONNECT command is given where the devicename of a shared= device or file was not the same as the one on a remote node.3 DISCONNECTEDN %LD-I-DISCONNECTED, Disconnected $1$DUA1:[DIR]DISKFILE.DSK;1 from $1$LDA1:G An LD DISCONNECT/LOG comman?d is given, and the unit plus containerfile disconnected are displayed. 3 DUPUNIT' %LD-F-DUPUNIT, Duplicate unitnumber< An LD CONNECT file LDAxx command was given while the device LDAxx already exists. 3 EXTENDEDM %LD-I-EXTENDED, File $1$DUA1:[DIR]DISKFILE.DSK;1 extended to 10000 blocks5 An LD CREATE/EXTEND/SIZE=10000/LOG command is given. 3 FDTACTIVE* %LD-I-FDTACTIVE, FDT Tracing is active< An LD SHOW/TRACE/STATUS command was given while FDT tracing is @active.' This status is only returned on Alpha. 3 FILEIDINUSE% %LD-F-FILEIDINUSE, File ID in use; An LD CONNECT command is given where the specified file is+ already in use, possibly on a remote node. 3 FILEINUSEL %LD-F-FILEINUSE, File incompatible connected to other LD disk in cluster? An LD CONNECT command is given where the logical disk file was> already in use by another logical disk, either on this systemF or on another system in a cluster. The connect specifAied on the otherB system was done in a way which is not compatible with the currentB connect parameters. This can happen if another node specified for> example /MAXBLOCKS, or /TRACKS which were not or incompatibleD specified on the local node. The complete geometry must be the same on all nodes. 3 FILEONOTHER= %LD-F-FILEONOTHER, File not allowed to be on other device@ An LD WATCH/FILE=filespec command was given where the specified0 file did not reside on the specified LD device.B3 FILEONVOLSET@ %LD-F-FILEONVOLSET, File watchpoint on volumeset not allowed@ An LD WATCH/FILE=filespec command was given where the specified5 file resides on a volume set. This is not supported. 3 FILREADERRG %LD-F-FILREADERR, Unable to read input file $1$DUA0:[TMP]FILE.DAT;1= An LD SHOW/TRACE/INPUT command was given where the requested inputfile could not be read. 3 FILWRTERRH %LD-F-FILWRTERR, Unable to write output file $1$DUA0:[TMP]FILE.DAT;1> An LD SHOW/CTRACE/OUTPUT command was given where the requested! outputfile could not be written. 3 HIGHWATERG %LD-W-HIGHWATER, Highwater marking is enabled on device, be patientA An LD CREATE command was given, and the disk where the containerA file is created has highwater marking enabled, and the specified* containersize is more than 100000 blocks.? This is just a warning that creation of the container file may1 take a long time as the contents will be erased.3 INCMPDEVTYPE0 D%LD-F-INCMPDEVTYPE, Incompatible device type< An LD command is given which is only applicable to tapes. < An LM command is given which is only applicable to disks. 3 INCMPPROT9 %LD-F-INCMPPROT, Incompatible locking protocol in use< An LD CONNECT/SHARE command was given while an incompatible: version of LDDRIVER was connected to the same resource on; another node in a cluster. Make sure that all systems in a7 cluster sharing an LD connected resource have the same version of ELD installed. 3 INFILERRE %LD-F-INFILERR, Unable to open input file $1$DUA0:[TMP]FILE.DAT;1= An LD SHOW/TRACE/INPUT command was given where the requested inputfile could not be opened. 3 INVGEOMETRY1 %LD-F-INVGEOMETRY, Invalid geometry specified< An LD CONNECT command is given where the geometry specified< with /TRACKS, /SECTORS or /CYLINDERS is invalid. TRACKS and; SECTORS are limited to 255, CYLINDERS is limited to 65535.@ This error can also be returned if TRAC FKS * SECTORS * CYLINDERSD is less than the maximum logical blocknumber of the container file.3 INVOKESTARTUP@ %LD-F-INVOKESTARTUP, LD has not been setup correctly, invoke4 @SYS$STARTUP:LD$STARTUP.COM@ %LM-F-INVOKESTARTUP, LM has not been setup correctly, invoke4 @SYS$STARTUP:LM$STARTUP.COMD Any LD or LM command that needs the driver will check if the driverD is loaded, and that the control utility has been installed. If this8 is noGt the case the startup procedure must be executed.3 INVVERSIONFMT6 %LD-F-INVVERSIONFMT, Invalid driver version format> An LD VERSION command was given where the version information; returned by the driver is incompatible with the LD utility' command program used to get this info.3 LOGICALNAMEERR5 %LD-F-LOGICALNAMEERR, Error defining locical nameB An LD CONNECT/LOGICAL command was given where the creation of the logical name returned an error. 3 MAXBLOCK0 %LD-HF-MAXBLOCK, Maximum blocknumber mismatchB An LD CONNECT/SHARE command was given where the maximum number of: blocks did not match the maximum number of blocks for the containerfile on another node. 3 METADATA& %LD-I-METADATA, Metadata availableJ An LM SHOW/FULL or CONNECT/FULL command was given where the containerfile has valid metadata available. 3 NEEDDEVICE( %LD-F-NEEDDEVICE, Device name neededF An LM LOAD command is given to connect a containerfile to an existing*I device, and that device is not speficied. 3 NOCLUSTER+ %LD-F-NOCLUSTER, No cluster code loaded< An LD CONNECT/SHARE command is given when the system is not running VMSCluster software. 3 NOGROUPPRIVI %LD-F-NOGROUPPRIV, No privilege to stop trace of device _THEBUG$LDA1:G An attempt was made to stop the continuous trace of device THEBUG$LDA1E while the trace was started by a process in the same UIC group. This operation need GROUP privilege. 3 NOLBNMAP, %LD-JF-NOLBNMAP, No lbn mapping specifiedA An LD CONNECT/SHARE command was given when the shared device was created with LBN mapping. 3 NOMETADATA+ %LD-I-NOMETADATA, No metadata availableD An LM ANALYZE command was given where the containerfile contains no valid metadata. 3 NOREADWRITEH %LD-F-NOREADWRITE, No read or write function specified for file modeC An LD WATCH/FILE=filespec command was given where the function wasB not one of the following: READPBLK, WRITEPBLK, WRKITECHECK or DSE.B Such watchpoint may only be specified in combination with a data- transfer function. 3 NOSHARE= %LD-F-NOSHARE, No sharing specified for file on this nodeB An LD CONNECT command was given while the specified containerfile+ was connected with /SHARE on another node. 3 NOSYSNAMJ %LD-F-NOSYSNAM, SYSNAM privilege needed to define an EXEC logical name< An LD CONNECT/LOGICAL=MODE=EXEC command was given while the4 process issuing the command lacks SYSNAM privLilege. 3 NOTADISK/ %LD-F-NOTADISK, Clone device must be a diskB An LD CONNECT/CLONE=dev or CREATE/CLONE=dev was given where 'dev' was not a disk. 3 NOTCONN' %LD-F-NOTCONN, Device not connectedA An LM UNLOAD command was given on a tapeunit without a connected container file. 3 NOTCONNECTED= %LD-W-NOTCONNECTED, Device _THEBUG$LDA1: is not connected< An LD SHOW command is given, and the disk was not connected to a file.@ An LD DISCONNECT command is givMen while the logical disk device was not connected.8 This errormessage can only occur if the driver has been) assembled without cloned device support. 3 NOTRCDATA, %LD-F-NOTRCDATA, No trace data available= An LD SHOW/TRACE command was given while the tracebuffer did not contain any data. 3 NOTREPLACEDI %LD-F-NOTREPLACED, Device was not connected as replaced on other node< An LD CONNECT/REPLACE command was given where the specified< device was connected on anotherN node, but not as /REPLACED. 3 NOTSAVED> %LD-W-NOTSAVED, Container file metadata has not been saved; An LD CONNECT/SAVE or LD [NO]PROTECT/PERMANENT command was: given where the fileheader of the container file does not9 have enough space to store the metadata. This can happen8 if the containerfile was created with an old version of7 the LD utility. Notice that this is a warning only, to/ fix this a new container file must be created. 3 NOTSHARED5 %LD-F-NOTSHARED, File isO not shared on other node: An LD CONNECT/SHARE command was given while the specified= containerfile was not connected with /SHARE on another node. 3 NOTVISIBLE: %LD-F-NOTVISIBLE, Device is not visible on other nodes8 An LD CONNECT/SHARE command is given when the device to6 be replaced or the device on which the container file/ resides is not visible by other cluster nodes.3 NOUNITSFOUND: %LD-F-NOUNITSFOUND, No usable logical disk units found9 An LD SHOW/ALL or TRACE/SPTOP/ALL command was given while no connected units were found. 3 NOWATCHDATA3 %LD-F-NOWATCHDATA, No watchpoint data available= An LD SHOW/WATCH command was given while no watchpoints were set. 3 NOWDISCONNC %LD-I-NOWDISCONN, Device $8$LDA1: is now disconnected from file $8$DIA2:[LD]DEVICE1.DSK;1' An LD DISCONNECT/LOG command is given. 3 NOWORLDPRIVI %LD-F-NOWORLDPRIV, No privilege to stop trace of device _THEBUG$LDA1:G An attempt was made to stQop the continuous trace of device THEBUG$LDA1D while the trace was started by a process in another UIC group. This! operation needs WORLD privilege. 3 OPENERR- %LD-F-OPENERR, Unable to open file NOFILEC An LD CONNECT command was given where the container file could not be opened. 3 OUTFILERRG %LD-F-OUTFILERR, Unable to open output file $1$DUA0:[TMP]FILE.DAT;1> An LD SHOW/TRACE/OUTPUT command was given where the requested outputfile could not be opened. 3 PASTDARTA7 %LD-F-PASTDATA, Requested entry(s) past end of data? An LD SHOW/TRACE/ENTRIES command was given where the requested( entries were beyond the available data. 3 RANGEINUSE. %LD-W-RANGEINUSE, LBN range already in use> An LD CONNECT/LBN command was given where the requested range< of logical blocknumbers was already in use elsewhere in the< cluster. This can also happen if there's an overlap with an existing range. 3 REMOTEALLOCE %LD-W-REMOTEALLOC, Device _$1$LDA1S: is allocated on a remote node; An LD SHOW or an LD DISCONNECT command was given while the: specified LD device was mounted private on a remote node.> This can only happen on an LD device which was connected with /SHARE. 3 SECTORS# %LD-F-SECTORS, Sectors mismatch: An LD CONNECT/SHARE command was given where the number ofB sectors did not match the number of sectors for the containerfile on another node. 3 STARTLBN) %LD-F-STARTLBN, Starting lbn mismatchE An LDT CONNECT/LBN=START=x/SHARE command was given where the starting4 LBN did not match the starting LBN on another node.3 STATUS? %LD-I-STATUS, Device _THEBUG$LDA1: has a tracebuffer of 512 entries (139 valid records)? An LD SHOW/TRACE/STATUS command is given. The specified deviceB has 512 tracebuffer entries allocated, of which 139 are currently in use.3 TRACESTOPPEDF %LD-I-TRACESTOPPED, Trace stopped by process 0C20025E (HOSTbuster); An LD TRACE/STOP command was giUven for a device to force a? SHOW/TRACE/CONTINUOUS command which was in progress by another> process to exit. The process issuing the command is indicated$ by the process id and process name.3 TRACKS! %LD-F-TRACKS, Tracks mismatch: An LD CONNECT/SHARE command was given where the number of@ tracks did not match the number of tracks for the containerfile on another node. 3 TRCDISABL( %LD-F-TRCDISABL, Tracing is disabled9 An LD SHOW/TRACE command was given while tracinVg was not" enabled for the specified device. 3 TRCENABL. %LD-F-TRCENABL, Tracing is already enabled8 An LD TRACE command was given while tracing was already enabled.3 UNIT1 %LD-I-UNIT, Allocated device is _THEBUG$LDA4:; An LD CONNECT command was given without /LOG and without a= device specification. This informational message shows which+ device was assigned to the specified file. 3 UNITNUMBER) %LD-F-UNITNUMBER, Unitnumber mismatchE An LD CONNECT/SHAREW command was given when the specified unit numberB was different than the unitnumber for the same containerfile used on another node.3 UNSUPPORTEDFS/ %LD-F-UNSUPPORTEDFS, Unsupported filesystemB An LD CONNECT command was given while the specified containerfile+ was located on an unrecognized filesystem. 3 VBNERROR: %LD-F-VBNERROR, Illegal virtual block number specified= An LD WATCH/FILE=filespec command was given where the VBN to1 watch was either zero or beyond theX end of file. 3 VERSIONL %LD-I-VERSION, LD version V9.0, module X-9 built on Oct 28 2006 15:19:29N -LD-I-DRIVERVERSION, Driver version: 28-OCT-2006 15:19:59.26 (MON version)Z -LD-I-SYSINFO, Node: THEBAT, Hardware: hp AlphaServer DS20L 833 MHz, VMS version: V8.3? An LD VERSION command was given, and the resulting information is displayed. 3 WPTNOTFOUND+ %LD-F-WPTNOTFOUND, Watchpoint not foundB An LD SHOW/WATCH command was given where the specified watchpoint doeYs not exist.3 OtherC The VAX/VMS System Messages and Recovery Procedures Reference Man-A ual lists other possible messages and provides explanations and suggested user actions.@ Note that when errormessages are returned, and you cannot traceA them back to the Logical Disk, perform the same checks again for5 the Physical Disk on which the Logical File resides. 2 Features> Logical disks may be just a single disk, part of a volumeset,= part of a stripeset, part of a host-basedZ shadowset, part of* a host-based raid set or any combination.> The file to be used for the logical disk may be placed on anyA physical disk, in any directory. A backup can be made to protect the disk.@ A physical device may be 'replaced' by a logical disk to enable? logging of all I/O of the physical disk (See CONNECT/REPLACE).2 HELP Provides interactive help.2 New_features_V5.0D Enable/disable write-protection of a device with the next command: LD [NO]PROTECT LDa [n:E Watchpoint support. A watchpoint is a marker which can be set on oneI or more logical blocks of a disk. The watchpoint consists of a function-D code, an action, an error return code and one logical block number.G When an I/O request is done to the driver it will check if the requestF matches one of the watchpoints. If true then the action specified forH that watchpoint will be executed. An action can be for example an OPCOMI message, but also to return an error code, or to suspend the \I/O thread, or to crash the system.F The following commandfile will for example put the device into mount- verification: $ SET VERIFY $ SET NOON $!9 $! Example of how to put a device into mountverification $!" $ LD CREATE/NOBACKUP TEMPDISK.DSK$ $ LD CONNECT/LOG TEMPDISK.DSK LDA1: $ INIT/NOHIGH/SYSTEM LDA1: TEST $ LD TRACE LDA1 $ MOUNT LDA1: TEST5 $ LD WATCH LDA1: 1/ACTION=OPCOM/FUNCTION=CODE=%X080C: $ LD WATCH LDA1: 1/ACTION=ERROR=%X84/FUNCTION=CODE=%X08084 $ LD WA]TCH LDA1: 10/ACTION=ERROR=%X84/FUNCTION=READ $ LD SHOW/WATCH LDA1: $ REPLY/ENABLE/TEMP= $ SPAWN/NOWAIT/INPUT=NL: DUMP LDA1:/BLOCK=(START=10,COUNT=1)+ $ INQUIRE DUMMY "Press return to continue" $ LD NOWATCH LDA1: $ LD SHOW/TRACE LDA1: $ REPLY/DISABLE $ DISMOUNT LDA1: $ LD DISCONNECT LDA1:$ $ DELETE/NOLOG/NOCONF TEMPDISK.DSK;2 New_features_V5.1= Shared access of the container file or a replaced device are? now possible by connecting with the /SHARE switch. For this toF w ^ork the 'LD' devicename must be the same on all nodes of the cluster4 which connect to the same container file or device.A Device geometry can now be specified by connecting a device withB the /SECTORS, /TRACKS and /CYLINDERS qualifiers. Also the maximum> usable size may be given with the /MAXBLOCKS qualifier, which% supersedes the /ALLOCATED qualifier.@ An allocation class may be specified for the LD device with the? /ALLOCLASS qualifier for CONNECT. If this is not done then the9 defau_lt is the value from the systemparameter ALLOCLASS.: A switch was added to CONNECT, /SYMBOL. This allows a DCL< symbol to be set representing the created unit number if it was not specified.2 New_features_V6.0. The driver is finally supported by ALPHA/VMS.= The restriction that container files had to be contiguous isB removed. Also, nesting of LD devices (container file on a logical disk) is now allowed.@ A watchpoint may now specify /FUNCTION=ALL to trap all function codes`.2 New_features_V6.2> If one needs more than 9999 logical disk devices then another7 'controller' may be used by specifying a new device at connection time: $ RUN SYS$SYSTEM:SYSMAN5 IO CONNECT LDA0/NOADAPTER/DRIVER=SYS$LDDRIVER5 IO CONNECT LDB0/NOADAPTER/DRIVER=SYS$LDDRIVER5 IO CONNECT LDC0/NOADAPTER/DRIVER=SYS$LDDRIVER2 New_features_V6.3? FDT routine access can now be traced. This will show access toB the driver which is otherwise hidden, a since some driver functions9 can complete in the FDT routines. It can be enabled with $ LD TRACE/FDT (Alpha only).? Accurate timing of I/O requests can now be done by enabling it< this way: $ LD TRACE/ACCURATE (Alpha only). This allows I/OA duration to be measured with a resolution of one microsecond, as@ opposed to the normal 10 mSec accuracy. The drawback is that if> this is used all I/O has to go through the primary processor.@ Container files may now reside on remotely mounted NFbS volumes.A Note however that members of a shadowset may not be used if they@ reside on such a device. This is because the NFSdriver does not> support the IO$_WRITECHECK function. This restriction will be lifted in a future release.< The restriction of the maximum size of the logical disk not= exceeding 2097120 blocks without specifying the geometry has= been lifted. Any size up to the size of the disk holding the containerfile is allowed.2 New_features_V7.0! There are new CREATcE qualifiers: /TRACKS=nnn /SECTORS=nnn /CYLINDERS=nnn /MAXBLOCKS=nnnA These settings will be stored in the containerfile as metadata< (in the fileheader), and if present will be used when theD containerfile is connected (unless /NOAUTOGEOMETRY is specified). /LBN=nnnC Allows placement of the containerfile on a specific LBN. If thatC LBN is not available an error will be returned. Notice that whenA /CONTIGUOUS is not specified and the requdest succeeds the fileB may be split in multiple segments at the discretion of the XQP,> in that case only the first part of the file will be on the specified LBN. /CLONE=deviceC Allows size and geometry to be cloned from the specified device.C This device has to be mounted for this to function. The geometry4 will automatically be saved in the containerfile. New CONNECT qualifiers: /CLONE=deviceC Allows size and geometry to be cloned from the specifieed device.E This device has to be mounted for this to function. Other geometry; data may be overruled when specified on the commandline. /AUTOGEOMETRYD This is the default. On a connect the containerfile is checked if? there's geometry info available, and if true that's used for/ connect unless /NOAUTOGEOMETRY is specified. /SAVE2 Updates the geometry data in the containerfile. New [NO]PROTECT qualifiers: /PERMANENTD Save writelock status ifn the containerfile so that it may be usedE during CONNECT (like emulating a 'hardware write protect' button). Other features:8 Interactive help is available with the LD HELP command.> If a shared file is connected and an error is returned due toD incompatibilities with sharing of other nodes, a more verbose error? message is given with the reason for the failure, like invalid$ allocation class, unit number, etc.D The following will automatically connect the right unit if it's ngot& specified and file sharing is wanted:( $ LD CONNECT DISK:[DIR]FILE.DSK/SHARED This way of connecting needs CMKRNL privilege. If this privilege is< lacking a clear error message will be displayed about that.; There's no problem anymore in using an ODS5 volume for the1 containerfile, this restriction has been lifted.> Using a containerfile exceeding 4Gb will not crash the system anymnore.2 New_features_V8.0? A physical disk may be connected to a logical disk, whereby ith> can be specified which lbn range of the physical disk to use.= For example, we want to connect a device LDA1 to blocks 1000$ through 20000 of a physical device:6 $ LD CONNECT DKA0: LDA1:/LBN=(START=1000,END=20999)- Or we can specify a number of blocks to use:8 $ LD CONNECT DKA0: LDA1:/LBN=(START=1000,COUNT=20000)= This will map lbn's 1000 through 20999 of DKA0: which can be! accessed as a disk through LDA1:: This functionality may also be used clusterwide by adding; /SH iARE. All nodes sharing a disk this way must specify the: same parameters. Geometry is calculated by the driver and> cannot be specified. Multiple ranges may be used for multiple; LD devices, as long as there's no overlap. The range check is done on all cluster members.A An example can be to partition a disk without any file structure on it:6 $ LD CONNECT DKA0: LDA1:/LBN=(START=0,COUNT=100000); $ LD CONNECT DKA0: LDA2:/LBN=(START=100000,COUNT=100000); $ LD CONNECT DKA0: LDA3:/jLBN=(START=200000,COUNT=100000); $ LD CONNECT DKA0: LDA4:/LBN=(START=300000,COUNT=100000) This can also be shared:A $ LD CONNECT DKA0: LDA5:/LBN=(START=400000,COUNT=100000)/SHARE> In that case the partition can be accessed from other cluster members as well.< Notice that the physical disk in question will be protected, by a lock, and may not be mounted anywhere.A A new locking protocol is in use between LDDRIVER's on different@ nodes in a cluster. The new V8.0 driver can k deal with connected? devices by old LDDRIVER's, old drivers however may not be ableA to connect to shared resources of the new drivers. If one driver< is the first to connect to a resource it will establish theB locking version in use. This means that if an old driver connects5 as the first one, the connection will work. Example:% oldsys> ld connect d1 lda1/share/logF %LD-I-CONNECTED, Connected $7$LDA1: to $8$DUA15:[LD]D1.DSK;1 (Shared)% newsys> ld connect d1 lda1/share/logF %LD-I-C lONNECTED, Connected $7$LDA1: to $8$DUA15:[LD]D1.DSK;1 (Shared)' (Old driver connected on other node); Notice that the new driver will tell us that an old driver: has connected to the resource, and that an upgrade may be? required. If the new driver connects first the old driver will! issue a different error message:% newsys> ld connect d1 lda1/share/logF %LD-I-CONNECTED, Connected $7$LDA1: to $8$DUA15:[LD]D1.DSK;1 (Shared)% oldsys> ld connect d1 lda1/share/logI %LD-F-FILEINUSE, mFile incompatible connected to other LD disk in clusterB This makes connection to a shared resource dependent on the order@ of the nodes where the connection occurs. For this reason it isE advisable to install the new LD version on all nodes in a cluster if shared resources are used.9 The include file for the callable interface has changed.J It used to be LD_DEFINES.H and is still included, but the new definitionsE are now in LDDEF.H created from and sdl source file. It is preferredBn to use the new definitions as they will become part of VMS in the future.2 New_features_V8.1? The container file can now be locked to prevent file deletion:- $ LD CONNECT DKA0:[LD]DISK1.DSK LDA1:/LOCKB In previous versions the container file could be deleted, but theC actual deletion did not take place until the file was disconnectedC so no harm was done. This is the same bahaviour as what's in place for page-, swap- and dumpfiles.A Creation of container files will now ma oke sure that there's roomC in the fileheader to save metadata like geometry and write-protectD status. In previous versions this space was not always created (forD example when there was a default acl on the container file's parent> directory). This could also result in an SS$_HEADERFULL error when creating the file.> A logical name pointing to the LD device can now be specified when the device is connected:0 $ LD CONNECT DKA0:[LD]DISK1.DSK LDA1: LOGNAMEA If the optional Logicalna pme argument is specified a logical name= pointing to the device will be created in the process table.D Notice that the logical name will not be deassigned when the device is disconnected.A Specifying the LD device to connect to is optional, and it worksC also if an alternate controller is used without a unit number (for@ example, LDB). So you can let the driver automatically select a7 unitnumber when it's not specified, so this will work: $ LD CONNECT DISK.DSK LDB@ The file wi qll then be connected to the next unitnumber on the B controller.F Retrieving LD version information can now be done with the LD VERSION command.F The qualifier /NOFORCED_ERROR on an LD CONNECT command will allow the= LD device to prevent handling of forced errors and return anF SS$_UNSUPPORTED error if an attempt is made to create a forced error.9 This can be used in testing host-based volume shadowing.C The qualifier /EXTEND on an LD CREATE command allows for extensionC of an exi rsting container file. Specify /SIZE=xxx to set the number) of blocks to extend the current file to.D The control utility will now check if the driver is loaded, as wellD as that it is installed with the correct privileges. If this is notA the case then a message will be given to execute LD$STARTUP.COM.2 New_features_V8.2G V8.2 is mainly a bugfix release. The only feature that has beenH extended is the version information from the LD VERSION command.2 New_features_Vs9.0% V9.0 has the following new features:B The major new feature is virtual tape support. This allows a fileA on disk to be used as a tape device, which can be very handy for@ testing. To use it substitute the LM command for LD, like this: $ @sys$startup:lm$startup $ lm create tape.dsk/size=10000% $ lm connect/log/full tape.dsk lma1:L %LM-I-CONNECTED, Connected $3$LMA1: to $3$DKA100:[JUR.LD.V90.SRC]TAPE.DSK;1& -LM-I-OPTIONS, Tape unit, Tape loaded# %LM-I-METADATA, Metadata availatble Version: 1 Creator: JUR& Process name: SysDamager Account: SYSTEM# UIC: [100,100] Created on system: THEBAT VMS version: V8.31 Time at creation: 8-MAY-2007 20:50:19.901 Time at last connect: 8-MAY-2007 20:50:25.491 Time at last disconnect: 8-MAY-2007 20:50:19.90 Data start: 1 Data size: 9999# Flags: tagsinuse" C uhecksum: 3A4D74B7 $ show dev/full lma1M Magtape $3$LMA1: (THEBAT), device type (Generic SCSI tape), is online, file- oriented device.L Error count 0 Operations completed 2L Owner process "" Owner UIC [JUR]L Owner process ID 00000000 Dev Prot S:RWPL,O:RWPL,G:R,WP Reference count 0 Default buffer size 2048P Density v default Format Normal-11% Allocation class 3 5 Volume status: no-unload on dismount, odd parity. $ lm trace lma1/all $ init lma1 test $ mount lma1 test5 %MOUNT-I-MOUNTED, TEST mounted on _$3$LMA1: (THEBAT) $ lm show/trace lma1' I/O trace for device $3$LMA1:+ 8-MAY-2007 20:51:59.14 on node THEBATF End Time Elaps Pid Lbn Bytes Iosb FunctionF ---------------------------------------w------------------------------E 20:51:49.649071 00.000005 2020042F 0 0 NORMAL PACKACKD 20:51:49.649133 00.000000 2020042F 0 0 NORMAL REWINDQ 20:51:49.649174 00.000001 2020042F 0 0 NORMAL SETMODE|MT3_DENSITYF 20:51:49.664598 00.014676 00000000 1 131072 NORMAL READPBLKF 20:51:49.666553 00.001917 00000000 257 131072 NORMAL READPBLKF 20:51:49.676429 00.009853 00000000 513 131072 NORMAL READPBLKF 20:51:49.686808 00.010357 00000x000 769 131072 NORMAL READPBLKH 20:51:49.686837 00.036922 2020042F 0 80 OPINCOMPL READPBLKD 20:51:49.686904 00.000001 2020042F 0 0 NORMAL REWINDQ 20:51:49.686945 00.000000 2020042F 0 0 NORMAL SETMODE|MT3_DENSITYD 20:51:49.687029 00.000001 2020042F 0 0 NORMAL REWINDG 20:51:49.687083 00.000014 2020042F 0 80 NORMAL WRITEPBLKG 20:51:49.687150 00.000010 2020042F 0 80 NORMAL WRITEPBLKG 20:51:49.687209 00.y000010 2020042F 0 80 NORMAL WRITEPBLKE 20:51:49.687261 00.000001 2020042F 0 0 NORMAL WRITEOFE 20:51:49.687292 00.000001 2020042F 0 0 NORMAL WRITEOFG 20:51:49.687332 00.000009 2020042F 0 80 NORMAL WRITEPBLKG 20:51:49.687378 00.000009 2020042F 0 80 NORMAL WRITEPBLKE 20:51:49.687412 00.000001 2020042F 0 0 NORMAL WRITEOFE 20:51:49.687442 00.000001 2020042F 0 0 NORMAL WRITEOFG 20:51:49.692443z 00.004969 00000000 1 1024 NORMAL WRITEPBLKD 20:51:49.692483 00.005014 2020042F 0 0 NORMAL REWINDG 20:51:49.692533 00.000001 2020042F 0 0 NORMAL AVAILABLEG 20:51:49.692586 00.000001 2020042F 0 0 NORMAL AVAILABLEE 20:51:53.556264 00.000003 2020042F 0 0 NORMAL PACKACKD 20:51:53.556314 00.000000 2020042F 0 0 NORMAL REWINDS 20:51:53.556357 00.000000 2020042F 0 16 NORMAL SENSEMODE|MT3_DENSITYQ 2{0:51:53.556416 00.000000 2020042F 0 0 NORMAL SETMODE|MT3_DENSITYE 20:51:53.556471 00.000001 2020042F 0 0 NORMAL PACKACKD 20:51:53.556505 00.000001 2020042F 0 0 NORMAL REWINDF 20:51:53.568662 00.012108 00000000 1 131072 NORMAL READPBLKF 20:51:53.570605 00.001909 00000000 257 131072 NORMAL READPBLKF 20:51:53.572169 00.001541 00000000 513 131072 NORMAL READPBLKF 20:51:53.573773 00.001583 00000000 769 131072 NORMAL READ |PBLKF 20:51:53.573811 00.017262 2020042F 0 80 NORMAL READPBLKF 20:51:53.582545 00.000014 2020042F 0 80 NORMAL READPBLKF 20:51:53.582615 00.000009 2020042F 0 80 NORMAL READPBLKH 20:51:53.582667 00.000001 2020042F 0 80 ENDOFFILE READPBLKD 20:51:53.582736 00.000001 2020042F 0 0 NORMAL REWINDD There are three commands for volume switch support: LM LOAD, UNLOADF and SWITCH. Initially an LM device can be created without a conne }cted, containerfile, with LM CONNECT/NOLOAD LMAx.@ After that it can be unloaded with LM UNLOAD LMAx, and reloaded> with LM LOAD file LMAx. Switching a volume can be done in one? command with LM SWITCH file LMAx. LM SHOW/FULL will display ifF the tape is loaded or not. So right now DISMOUNT/UNLOAD (the default)E will keep the file connected, but move it to the unload state. It isH possible to reload it and keep the same file with LM LOAD LMAx (specialC case command). If the device is unloa ~ded it will return SS$_MEDOFLC when it's accessed. LM LOAD and SWITCH can use the same qualifiers> as CONNECT, UNLOAD can use the same qualifiers as DISCONNECT.B If a device is not connected to a container file it can simply be! removed with LM DISCONNECT LMAx. LM SWITCH newfile.dsk LMA1F This command allows volume switching for backup. The existing virtualG tapeunit is re-used with a new container file. If backup is at the endH of a tape and issues an Opcom request this commands  allows switching of the containerfile.G One thing to notice is that a tape containerfile must be at least 5000E blocks in size. The virtual end of tape is currently fixed at 95% ofE the containerfile size, after writing that amount of data the driverG will return SS$_ENDOFTAPE after every write. This is a warning messageF only, the data will be written correctly. If the physical end of data+ is reached an SS$_DRVERR will be returned.) LM ANALYZE file.dsk [/RECORDS] [/DATA]E This command will verify the integrity of the container file. It canG only be used for virtual tapes, disks have their own format (ODS-2/5).A The qualifier /RECORDS will show all records with their possibleD attributes. /DATA will dump the contents of the data records in hex and ascii: $ lm analyze tape/records# %LM-I-METADATA, Metadata available Version: 1 Creator: JUR& Process name: SysDamager Account: SYSTEM# UIC : [100,100] Created on system: THEBAT VMS version: V8.31 Time at creation: 8-MAY-2007 20:50:19.901 Time at last connect: 8-MAY-2007 20:50:25.491 Time at last disconnect: 8-MAY-2007 20:53:23.54 Data start: 1 Data size: 9999# Flags: tagsinuse" Checksum: A7C35A3FI Record: 0 Offset: 0 Lbn: 1 Length: 80I Record: 1 Offset:  116 Lbn: 1 Length: 80I Record: 2 Offset: 232 Lbn: 1 Length: 80T Record: 3 Offset: 348 Lbn: 1 Length: 0 Flags: EOFT Record: 4 Offset: 384 Lbn: 1 Length: 0 Flags: EOFI Record: 5 Offset: 420 Lbn: 1 Length: 80I Record: 6 Offset: 536 Lbn: 2 Length: 80T Record: 7 Offset: 652 Lbn: 2 Length: 0 Flags: EOFT Record: 8 Offset: 688 Lbn: 2 Length: 0 Flags: EOFT Record: 0 Offset: 0 Lbn: 1 Length: 0 Flags: EOD@ %LM-I-ANALYZEOK, Container file structure successfully verified Bytes read: 524288 Records read: 10 Databytes read: 400 Eof count: 4 LD CREATE/ERASEA This will erase the containerfile after creation. It may be used> to speed up initial shadow copies, or when init has a problem? initializing a virtual disk due to previous stale data and the. user lacks VOLPRO privilege to override that.@ If creation of a containerfile is done on a disk with highwater@ marking enabled, a warning will be issued that it may take someA time if the filesize is above 100000 blocks (VMS V8.2 and higher only).C LD CONNECT/LOGICAL=(NAME=logical-name[,TABLE=table][,MODE=mode])B This allows a logical name to be associated with the connected LD device. LD SHOW/FULL9 This will show all attributes of the selected LD device: $ ld show/all/fullM %LD-I-CONNECTED, Connected _$3$LDA1: to $1$DGA100:[JUR.LD.V90.SRC]FILE.DSK;1 -LD-I-OPTIONS, Shared2 %LD-I-CONNECTED, Connected _$3$LDA2: to _$3$DQA0:P -LD-I-OPTIONS, Replaced, Trace active, No DSE support, Not Forced Error capable' LD SHOW/TRACE/TIMESTAMP=START or ENDD This allows selection of absolute start and end time of trace data. LD SHOW/SYMBOL@ This will get the LD unit number in DCL symbol LD_UNIT, and the9 container file specification in the symbol LD_CONTAINER.. For tape it will be LM_UNIT and LM_CONTAINER.F There's more accurate timing in trace messages (microsecond accuracy) (Only in VMS V8.3 and higher): $ ld show/trace lda1& I/O trace for device $3$LDA1:' 17-MAY-2006 09:21:15.16 on node THEBATF End Time Elaps Pid Lbn Bytes Iosb FunctionF ---------------------------------------------------------------------E 09:21:12.232269 00.000000 2060042F 0 0 NORMAL PACKACKF 09:21:12.240950 00.008581 2060042F 1 512 NORMAL READPBLKF 09:21:12.247513 00.006426 2060042F 1034 512 NORMAL READPBLKF 09:21:12.248595 00.000959 2060042F 50033 512 NORMAL READPBLKF 09:21:12.249557 00.000838 2060042F 50034 512 NORMAL READPBLKF 09:21:12.255176 00.005504 2060042F 50016 512 NORMAL READPBLKG 09:21:12.263548 00.008258 2060042F 50016 512 NORMAL WRITEPBLKH LD SHOW/TRACE can now show the contents of the LBN and BYTECOUNT fieldsI in decimal and hex with /LBN=[HEX,DECICMAL] or /BYTECOUNT=[HEX,DECIMAL].B Trace data for the LM device will by default not contain the dataA to/from disk initiated by the driver (with a PID field of 0). To4 enable tracing of this data use /ALL with LD TRACE. Known issues:H LM SHOW/TRACE/CONTINOUS can not yet be trusted completely, it may causeD invalid data to be written to tape if used togeth er with writing to tape.B Switching volumes due to tape full on a Files-11 mounted tape may get errors.H The accurate timing measurements may be way off if a cpu is stopped andE restarted. Disconnecting and reconnecting the LD device will fix it.H Copying .OBJ files (and possibly others) may give SS$_BADATTRIB errors.F This is not stricktly an error since any copy of a file on a files-11H mounted tape may generate this error for records smaller than 14 bytes.E These small records are rejected by the VMS I/O system as documentedG in the I/O User's reference manual. A real tape device will behave the same.2 New_features_V9.1F V9.1 has no new features, the only change is to allow installation on; OpenVMS Ia64 V8.3-1H1. All images are the same as LD V9.0.2 New_features_V9.2% V9.2 has the following new features:H The major new feature is variable container file support for tape. ThisE allows a file on disk to be used as a tape device, without having toH p reallocate a certain amount of blocks. This is enabled at CONNECT timeG with the qualifier /EXTEND. Also, a limit may be placed on the maximum@ container file size. The default is unlimited, which means thatF extending the file will stop as soon as the underlaying disk is full. Example: $ LM CREATE TAPE.DSK/SIZE=0C $ LM CONNECT/LOG/FULL/EXTEND=10000/LIMIT=5000000 TAPE.DSK LMA1:O %LM-I-CONNECTED, Connected $2$LMA1: to $4$DKA400:[JUR.LD.V92.SRC]TAPE.DSK;1\ -LM-I-OPTIONS, T ape unit, Tape loaded, Extend file on demand (size=10000, limit=5000000)& %LM-I-METADATA, Metadata available Version: 1 Creator: JUR& Process name: EH? Account:& UIC: [100,100]# Created on system: THENET! VMS version: V8.34 Time at creation: 1-MAR-2009 21:30:28.514 Time at last connect: 1-MAR-2009 21:30:36.534 Time at last disconnect: 1-MAR-2009 21:30:2 8.51 Data start: 1 Data size: 0& Flags: tagsinuse% Checksum: 30F9EAF7G This will create a virtual tape of initially 0 blocks in size, and theD extension of the container file will be done with 10000 blocks at aC time. There's a limit of 5000000 blocks, if the file grows to thatA limit then the end of tape marker will be returned at 95% of the maximum capacity.H After writing the tape and dismounting it, excess blocks can be removed7 from the container file with LM DISCONNECT/TRUNCATE orF LM UNLOAD/TRUNCATE. This will effectively truncate the container file: to the maximum logical block where data has been written.I Specifying /LIMIT without /EXTEND on the CONNECT command is not allowed.? The default extension limit for /EXTEND is 65536 blocks if notE specified. Specifying /LIMIT=0 is the same as not specifying /LIMIT. Bug fixes:E IO$_SETMODE to a tape device will now set the correct d efault device buffer size.C Under very specific circumstances a skip reverse operation to tapeD resulted in a read request from disk with a random number of bytes.E Some controllers rejected the command with SS$_CTRLERR, other errors1 could be an SS$_BUGCHECK from the driver itself.E A system crash could occur when running LD$STARTUP.COM or LM$STARTUPF on a system which was very low on nonpaged pool. Doing that right now will return an error.4 The known issues for V9.0 are the same as for V9.2.2 New_features_V9.3! V9.3 has the following bugfixes:% 1. The LM SWITCH command was broken: $ lm switch TEST LMA1:( %CLI-F-SYNTAX, error parsing 'TRUNCATE'; -CLI-E-ENTNF, specified entity not found in command tablesF 2. The default buffer size was set incorrectly to 0 for an LM device:N Magtape $11$LMA1: (THEINT), device type (Generic SCSI tape), is online, file- oriented device.P Error count 0 Operations completed 2P Owner process "" Owner UIC [JUR]P Owner process ID 00000000 Dev Prot S:RWPL,O:RWPL,G:R,WW Reference count 0 Default buffer size 0 <<<<<P Density default Format Normal-11% Allocation class 115 Volume status: no-unload on dismount, odd parity.H The effect was that MOUNT/BLOCKSIZE=x was not honored, and that copy toJ a files-11 mounted tape may fail for certain files. Other errors are also? possible, like DUMP from tape may always give 512 byte blocks.2 New_features_V9.4E The only change in V9.4 is the possibility to install on the OpenVMS E8.4 fieldtest and higher.2 New_features_V9.5! V9.5 has the following bugfixes:F Applications could fail with floating point errors like HPARITH trapsD when tracing was enabled on an LD device. This could only happen on OpenVMS V8.3 or above.C LD will now warn when an attempt is made to install it on any diskC other than the system disk. Since LD is an integrated component of- VMS it must be installed on the system disk.2 New_features_V9.6! V9.6 has the following bugfixes:D On Ia64 the trace data was not properly displayed, the microseconds8 resolution field was invalid. This could only happen on OpenVMS V8.3 or above.8 On all platforms the display of timing information with: /TIMESTAMP=DELTA was incorrect. This could only happen on OpenVMS V8.3 or above.B If a container file does not have the NO_CACHING attribute set itB will be set when the file is disconnected (provided that there is@ write access to the file). Not doing that may leave data in theB XFC cache from operations like copy, unzip, etc. causing problems/ later on when reconnecting the container file.2 New_features_V9.7" V9.7 has the following bug fixes:C If a containerfile for a virtual tape resided on a disk controlledB by SYS$DQDRIVER (IDE disk, Alpha only) then the system could hang$ when connecting the container file.E If the system has no allocation class specified, and the system nameF ended in LD then LD SHOW/ALL or LD DISCONNECT/ALL would give an error# when it selected the wrong device. 2 Parameters Filespec9 Specifies the logical disk file to create or to connect.8 Any legal VMS filespec without wildcards or nodename is acceptable. Device4 Logical disk devicename, LD an where n is 1 to 9999.2 Privileges_and_Quotas> To control creation and deletion of logical devices one needs? PHY_IO privilege for the LD utility. To use continuous tracing5 SYSLCK privilege is needed. The startup commandfile,< SYS$STARTUP:LD$STARTUP.COM will install the LD utility with; these privileges so that ordinary users can play around by creating and removing disks.; Note that the users will be charged against BYTLM for each; unit they create. Also, the creation of a t racebuffer will? be charged against BYTLM, as well as creating of a watchpoint.? Connecting a shared disk which is already connected on another; cluster node without specifying a unit number needs CMKRNL8 privilege. Due to possible security implications the LD. utility is not installed with this privilege.2 Restrictions= A file used for a logical disk may not be used for any other? logical disk, unless /SHARE is specified. If that is not done,@ the driver will return SS$_FILALRAC C. The same is true when one@ tries to replace a device, the error returned in that case will be SS$_DEVALLOC.> A containerfile for a logical disk must reside on an ODS-2 or5 an ODS-5 volume. Spiralog volumes are not supported.9 If a continuous trace is in progress it is impossible to> mount a logical disk because the reference count is not zero.@ Stop the trace, mount the disk and restart the trace. No trace-7 data will be lost because the driver will buffer this.@ Container files may now reside on remotely mounted NFS volumes.A Note however that members of a shadowset may not be used if they@ reside on such a device. This is because the NFSdriver does not= support the IO$_WRITECHECK function. This restriction may be lifted in a future release.2 Setup3 The logical disk has to be setup by connecting the3 driver with SYSGEN. The unitnumber can be selected) by the user connecting the logical disk. To connect the driver on VAX: $ RUN SYS$SYSTEM:SYSGEN CONNECT LDA0/NOADAPTER< To connect the driver on Alpha or IA64 the supplied startup& command procedure has to be executed:$ For LD: SYS$STARTUP:LD$STARTUP.COM$ For LM: SYS$STARTUP:LM$STARTUP.COM 3 Example- An example of setting up some Logical Disks.! $ @SYS$STARTUP:LD$STARTUP6 $ LD CREATE/SIZE=8192 $1$DUA1:[TEMP]USER.DSK;13 $ LD CONNECT $1$DUA1:[TEMP]USER.DSK;1 LDA1:# $ INITIALIZE LDA1: USERDSK1 $ MOUNT LDA1: USERDSK12 IO_Trace_example An example of traced I/O:7 $ LD SHOW/TRACE/ENTRIES=(12,23)/IOSB=COMBINATION LDA1:+ I/O trace for device _THEBUG$LDA1:, 24-FEB-1994 16:36:56.31 on node THEBUG::CStart Time Elaps Pid Lbn Bytes Iosb Count FunctionC-------------------------------------------------------------------B20:52:30.01 00.02 202000C4 5 512 NORMAL 512 READPBLKM20:52:30.03 00.03 202000C4 5 512 NORMAL 512 WRITEPBLK|DATACHECK@20:52:30.07 00.00 202000C4 0 0 NORMAL 0 UNLOADJ23:16:18.05 00.00 202000C5 0 32 NORMAL 0 SETMODE|LINE_OFFQ23:16:30.13 00.00 202000C5 0 11 NORMAL 0 SETMODE|LINE_ON|NEWLINEJ23:17:05.70 00.05 202000C5 0 0 NORMAL 0 PACKACK|INHERLOGB23:17:05.76 03.22 202000C5 1 512 NORMAL 512 READPBLKB23:17:09.00 00.67 202000C5 608509 512 NORMAL 512 READPBLKB23:17:09.67 00.03 202000C5 608510 512 NORMAL 512 READPBLKB23:17:09.70 00.27 202000C5 608334 512 NORMAL 512 READPBLKC23:17:09.97 00.00 202000C5 608334 512 WRITLCK 0 WRITEPBLKB23:17:10.04 00.29 202000C5 608508 512 NORMAL 512 READPBLK 2 CONNECT1 LD CONNECT file_or_device [LDAn:] [Logicalname]? This command will connect the Logical Disk File to the Logical Disk device.? This function must be performed before the logical disk can be? mounted or otherwise used. It requires the Physical Disk to beE mounted and requires read and write access to the Logical Disk File.> If the LD-device is not specified, it will be assigned by the? driver, and an informational message will be given about which device is selected.C If the LD-device is not specified and a file is connected /SHARED,@ the corresponding device is automatically created provided that7 the process issueing the command has CMKRNL privilege.> If the device is specified, and if that device does not exist! it will be created as specified.A If the optional Logicalname argument is specified a logical name= pointing to the device will be created in the process table.D Notice that the logical name will not be deassigned when the device is disconnected.A Specifying the LD device to connect to is optional, and it worksC also if an alternate controller is used without a unit number (for@ example, LDB). So you can let the driver automatically select a7 unitnumber when it's not specified, so this will work: $ LD CONNECT DISK.DSK LDB@ The file will then be connected to the next unitnumber on the B controller. 3 /ALLOCLASS /ALLOCLASS=allocation_classD If this qualifier is specified, the specified allocation class willE be set for all LD devices. This qualifier can only be set when there' are currently no LD devices connected.D Setting an allocation class can be usefull if LD device needs to beD shared in a cluster where different nodes have different allocation classes.3 /AUTOGEOMETRY /AUTOGEOMETRYB This is the default. On a connect the containerfile is checked ifE there's geometry info available, and if true that's used for connect% unless /NOAUTOGEOMETRY is specified.3 /CLONE /CLONE=deviceF Allows size and geometry to be cloned from the specified device. ThisC device has to be mounted for this to function. Other geometry data4 may be overruled when specified on the commandline. 3 /CYLINDERS /CYLINDERS=number_of_cylindersE When this qualifier is specified the device will be created with the@ specified number of cylinders. If not specified, and no /TRACKSC and /SECTORS switches are specified, then the device geometry willH be calculated by the driver. If it is specified then any other geometry- switch will default to 1 when not specified.* The maximum number of cylinders is 65535.A If SECTORS * TRACKS * CYLINDERS is less than the capacity of the/ containerfile an error message will be issued. WARNING:A If a container file has been used and is reconnected with other= geometry information which results in another disksize then diskcorruption may result.C This qualifier may not be used together with /REPLACE or /LBN. ForB /REPLACE the geometry will be inherited from the replaced device.: For /LBN the driver will create the appropriate geometry. 3 /EXTEND /EXTEND[=n] /NOEXTEND (default)G This qualifier allows a tapeunit to automatically extend the containerF file on demand. If no value is specified then the default extend size is 65536 blocks at a time.3 /FORCED_ERROR /FORCED_ERROR (default) /NOFORCED_ERRORA This qualifier will allow the LD device to handle forced errors,E provided that the underlaying physical device is capable of handling= them too. Specify /NOFORCED_ERROR to prevent the device from@ handling these errors and return an SS$_UNSUPPORTED error if anF attempt is made to create a forced error. This can be used in testing host-based volume shadowing.3 /FULL /FULL /NOFULL (default)C This qualifier will show all attributes of the selected LD device,# like sharing, connection type etc.3 /INIT /INIT /NOINIT (default)H This qualifier will reinitialize the metadata when a tape containerfileL is connected. Since this will overwrite the first part of the containerfileE it is not done by default. If a containerfile is created with the LMA command it will automatically be created with metadata in place.3 /LBN /LBN=(START=x,END=y) or /LBN=(START=X,COUNT=y)H Connect an LD device to a physical disk, starting at LBN x, with eitherF an end-lbn specified or a count. The ending lbn may not be beyond theE end of the physical device. The count plus the starting lbn may alsoG not be beyond the end. With this qualifier it is possible to partially map a physical disk.3 /LIMIT /LIMIT[=n] /NOLIMIT (default)F This qualifier allows a tapeunit to automatically limit the containerK file size. This works in conjunction with /EXTEND, which enables automaticK extension. Once the container file has grown to the specified size it willJ stop there. If no value is specified or specified as zero then there's no limit.3 /LOAD /LOAD (default) /NOLOADD When negated this qualifier will create a new tape device without aE containerfile connected to it. A subsequent 'LOAD' command is needed to use the device.3 /LOCK /LOCK /NOLOCK (default)F This qualifier will lock the container file in a manner that preventsH deletion. Without this the file can be deleted, but the actual deletionC will only take place when the container file is disconnected so noE harm will be done. This is the same bahaviour as what's in place for page-, swap- and dumpfiles.3 /LOG /LOG /NOLOG (default)E Shows the connection between the logical disk and the file or deviceE after the connection has been completed. This switch may be combined withe /FULL to see everything. 3 /LOGICAL7 /LOGICAL=(NAME=logical-name[,TABLE=table][,MODE=mode])B Specifies a logical name to be associated with the actual name of the created device.; You can specify one of the following options for the TABLE keyword:8 GROUP Places the logical name in the group logical name4 table. You must have GRPNAM or SYSPRV privilege to9 place the logical name in the group logical name table.8 JOB Places the logical name in the jobwide logical name table.< PROCESS Places the logical name in the process logical name table. This is the default.: SYSTEM Places the logical name in the system logical name4 table. You must have SYSNAM or SYSPRV privilege to0 place a name in the system logical name table.@ You can also specify the name of a specific table. For example,@ you could specify LNM$PROCESS, which would be the equivalent of specifying PROCESS." Options for the MODE keyword are:A EXECUTIVE Creates an executive mode logical name. You must have9  SYSNAM privilege to create an executive mode logical name.3 SUPERVISOR Creates a supervisor mode logical name.* USER Creates a user mode logical name.? The access mode associated with the logical name is determinedA by maximizing the access mode of the caller with the access modeA specified by the MODE keyword: the mode with the lower privilege is used.? You cannot specify an access mode with a privilege higher than@ that of the table containing the logical name. However, if your@ process has SYSNAM privilege, then the specified access mode isB associated with the logical name regardless of the access mode of the caller.? If you omit the MODE keyword, the access mode of the caller is" associated with the logical name.B If you create a USER mode logical name but don't specify a table,B the name will be deleted as soon as the LD control utility exits.: This is the normal behaviour for user mode logical names. 3 /MAXBLOCKS /MAXBLOCKS=number_of_ blocks@ When this qualifier is specified the specified number of blocksC will be the maximum used for the device. It may not be bigger than* the allocated size of the container file. 3 /REPLACEA When this qualifier is specified one has to specify a devicename< instead of a filespec. This has the effect of replacing the> physical drive with the logical drive, and it enables all I/OB requests to the physical device to be logged. The physical device* will be marked allocated and unavailable.3 /SAVE /SAVE0 Updates the geometry data in the containerfile. 3 /SECTORS /SECTORS=number_of_sectorsE When this qualifier is specified the device will be created with theA specified number of sectors. If not specified, and no /CYLINDERSB and /TRACKS switches are specified, then the device geometry willH be calculated by the driver. If it is specified then any other geometry- switch will default to 1 when not specified.& The maximum number of sectors is 255.A If SECTORS * TRACKS * CYLINDERS is less than the capacity of the/ containerfile an error message will be issued. WARNING:A If a container file has been used and is reconnected with other= geometry information which results in another disksize then diskcorruption may result.C This qualifier may not be used together with /REPLACE or /LBN. ForB /REPLACE the geometry will be inherited from the replaced device.: For /LBN the driver will create the appropriate geometry.3 /SHAREE If this qualifier is specified, then sharing the container file withG other nodes in a cluster is allowed, provided that the same devicenameC (ALLDEVNAM) is used on every node accessing the file, and that the. specified geometry is the same on every node.A If the containerfile needs to be accessed on other nodes as wellC then the CONNECT/SHARE command must be issued on all nodes wanting to share the container file.A If used together with /REPLACE then sharing of another device is  allowed. 3 /SYMBOLA When this qualifier is specified a local DCL symbol representingB the unit number will be created: LD_UNIT. This can be useful when> a connect is done without specifying a unit number. With this> qualifier included a command procedure is able to use this in subsequent commands.D If it is used with tapes (LM) then the symbol name will be LM_UNIT. 3 /TRACKS /TRACKS=number_of_tracksE When this qualifier is specified the device will be created with the@ specified number of tracks. If not specified, and no /CYLINDERSC and /SECTORS switches are specified, then the device geometry willH be calculated by the driver. If it is specified then any other geometry- switch will default to 1 when not specified.% The maximum number of tracks is 255.A If SECTORS * TRACKS * CYLINDERS is less than the capacity of the/ containerfile an error message will be issued. WARNING:A If a container file has been used and is reconnected with other= geometry information which results in another disksize then diskcorruption may result.C This qualifier may not be used together with /REPLACE or /LBN. ForB /REPLACE the geometry will be inherited from the replaced device.: For /LBN the driver will create the appropriate geometry.2 CREATE LD CREATE filespecE This command will create a file which can be used as a Logical Disk.B The default extension is ".DSK". The file will be set /NOMOVE and /CACHING_ATTRIBUTE=NO_CACHING.L If the command is used with tapes (LM) then the newly created containerfileK will automatically contain tape metadata like username, creation time etc.* which can be displayed with LM SHOW/FULL. 3 /BACKUP /BACKUP (default) /NOBACKUP: This qualifier can be used to mark the file /NOBACKUP. In; that case when a backup of the file is done only the file-9 header will be copied. On a restore the file will be re-$ created, and all data will be lost.3 /CLONE /CLONE=deviceF Allows size and geometry to be cloned from the specified device. ThisA device has to be mounted for this to function. The geometry will- automatically be saved in the containerfile. 3 /CONTIGUOUS /CONTIGUOUS /NOCONTIGUOUS (default)D This qualifier can be used to create the container file contiguous. 3 /CYLINDERS /CYLINDERS=number_of_cylindersE When this qualifier is specified the device will be created with the@ specified number of cylinders. If not specified, and no /TRACKS C and /SECTORS switches are specified, then the device geometry willH be calculated by the driver. If it is specified then any other geometry- switch will default to 1 when not specified.* The maximum number of cylinders is 65535.A If SECTORS * TRACKS * CYLINDERS is less than the capacity of the/ containerfile an error message will be issued.E This setting will be stored in the containerfile as metadata (in theD fileheader), and if present will be used when the container file is1 connected (unless /NOAUTOGEOMETRY is specified).3 /ERASE /ERASED This qualifier will erase the contents of the container file. For aA new file all blocks will be erased, if this qualifier is used inB combination with /EXTEND then only the extension of the file willD be erased, so the original contents will be preserved in that case.F This can be useful if a non-privileged user creates a container file,H and at certain blocks on disk is data which resembles blocks recognizedA by INIT preventing initializing due to lack of VOLPRO privilege.H This qualifier is ignored when the container file is placed on a volumeF with active highwater marking as the filesystem will take care of the erasure in that case. 3 /EXTEND /EXTENDC This qualifier allows for extension of an existing container file.D Specify /SIZE=xxx to set the number of blocks to extend the current file to.3 /LBN /LBN=nnnE Allows placement of the containerfile on a specific LBN. If that LBN= is not available an error will be returned. Notice that whenF /CONTIGUOUS is not specified and the request succeeds the file may beF split in multiple segments at the discretion of the XQP, in that case> only the first part of the file will be on the specified LBN.3 /LOG /LOG /NOLOG (default); Shows the complete filespec of the created file after file creation. 3 /MAXBLOCKS /MAXBLOCKS=number_of_block@ When this qualifier is specified the specified number of blocksC will be the maximum used for the device. It may not be bigger than* the allocated size of the container file.E This setting will be stored in the containerfile as metadata (in theD fileheader), and if present will be used when the container file is1 connected (unless /NOAUTOGEOMETRY is specified). 3 /SECTORS /SECTORS=number_of_sectorsE When this qualifier is specified the device will be created with theA specified number of sectors. If not specified, and no /CYLINDERSB and /TRACKS switches are specified, then the device geometry willH be calculated by the driver. If it is specified then any other geometry- switch will default to 1 when not specified.& The maximum number of sectors is 255.A If SECTORS * TRACKS * CYLINDERS is less than the capacity of the/ containerfile an error message will be issued.E This setting will be stored in the containerfile as metadata (in theD fileheader), and if present will be used when the container file is1 connected (unless /NOAUTOGEOMETRY is specified).3 /SIZE /SIZE[=disksize]> Specifies the size of the logical disk file. The default size is 512 blocks. 3 /TRACKS /TRACKS=number_of_tracksE When this qualifier is specified the device will be created with the@ specified number of tracks. If not specified, and no /CYLINDERSC and /SECTORS switches are specified, then the device geometry willH be calculated by the driver. If it is specified then any other geometry- switch will default to 1 when not specified.% The maximum number of tracks is 255.A If SECTORS * TRACKS * CYLINDERS is less than the capacity of the/ containerfile an error message will be issued.E This setting will be stored in the containerfile as metadata (in theD fileheader), and if present will be used when the container file is1 connected (unless /NOAUTOGEOMETRY is specified). 2 DISCONNECT LD DISCONNECT [LDAn:]> This command will disconnect the Logical Disk device from the. Logical Dis k file, or from the physical disk. 3 /ABORT A This qualifier can be used if the normal disconnect command does= not disconnect the file (for example, when the file has beenA deleted). The ABORT qualifier disconnects the Logical Disk as it is (No checks.); When the physical disk is dismounted, and the logical diskC is still active,the physical disk will enter a marked for dismount5 state until the logical disk is no longer connected.9 The steps to follow if this happens are described below; $ DISMOUNT LDA1: $ LD DISCONNECT/ABORT LDA1: $ DISMOUNT DDan:@ Be careful using the ABORT qualifier because it disconnects the0 Logical Disk independent of the state it is in.3 /ALL- This qualifier disconnects all LDAn devices., No devicename has to be given in this case.3 /LOG /LOG /NOLOG (default)9 Shows the status after the device has been disconnected. 3 /TRUNCATEG This qualifier will truncate the container file to the highest writtenE block. This can be used to trim excess blocks which may be left over from an extend operation.2 LOAD LM LOAD [filespec] LMan:B This command will load the specified file on the LM device. If no@ file is given then the currently connected file will be loaded.? This command accepts the same switches as the CONNECT command. 2 NOPROTECT LD NOPROTECT LDan:C This command will remove write-protection of the specified device. 3 /PERMANENT /PERMANENT= Save writelock status in the containerfile so that it may be? used during CONNECT (like emulating a 'hardware write protect' button). 2 NOWATCH" LD NOWATCH LDan: [lbn [,lbn...]]3 This command will remove the specified watchpoint.3 /INDEX /INDEX=n? This qualifier will remove only the specified watchpoint. This@ is an alternate way for specifying a watchpoint which is neededF for watchpoints without an lbn (IO$_PACKACK watchpoints for example).2 SHOW LD SHOW [LDAn:]; This command will display information about the status and+ the connected Logical Disk file or device.0 It can also be used to display the tracebuffer. 3 /ACCURATE= This qualifier was used in the past to allow accurate timing= measurements. A new method of collecting the timing has been= used which always collects the accurate samples, making this( qualifier obsolete. It will be ignored.3 /ALL; This qualifier will show the status of all LDAn devices on@ the system. It can not be specified in combination with /TRACE.* No devicename must be given in this case. 3 /BINARY< This qualifier forces the tracebuffer data to be written toC the outputfile in binary form. The is required when the outputfile* has to be processed later on with /INPUT. 3 /BLOCKS /BLOCKS=blocks= This qualifier specifies the maximum size of a diskfile withB tracedata. After this size is reached the current file is closed,A and a new one with a higher version is opened. If this qualifier> is not specified then there's no limit. If the /VERSION_LIMIT> qualifier is specified too, then the excess datafiles will be purged. 3 /BYTECOUNT% /BYTECOUNT [=HEX,DECIMAL] (Default) /NOBYTECOUNT; This qualifier enables the number of requested bytes to be9 displayed. It allows either Hex or Decimal format, where decimal is the default. 3 /CONTINUOUS /CONTINUOUS: When this qualifier is specified, the trace buffer of the7 specified device will be dumped (if there's still data; waiting). After that the program will wait for new data to- show up, and display that if it's available.7 To exit this mode one can type either a Control-Z or a; Control-C. Another way is to issue a LD TRACE/STOP command from another process. 3 /ENTRIES /ENTRIES[=(XXX,YYY)]]= This qualifier allows selection of the tracebuffer contents.@ If one parameter is specified, it will be the number of entriesA from the start of the tracebuffer when positive, or from the end" of the tracebuffer when negative.? For example, /ENTRIES=10 will show the first 10 entries, while, /ENTRIES=-10 will show the last 10 entries.E When two parameters are specified, a range of entries will be shown.? For example, /ENTRIES=(30,50) will show all entries from entry 30 through entry 50 inclusive.2 The default of -10 will show the last 10 entries.3 /FDTB This qualifier allows FDT routine access to be displayed from theG tracebuffer, provided that it was enabled with the setup of the trace.* This function is only supported on Alpha.3 /FULL /FULL /NOFULL (default)C This qualifier will show all attributes of the selected LD device,# like sharing, connection type etc. 3 /FUNCTION /FUNCTION[=Keyword] /NOFUNCTION> This qualifier enables the Function code of the request to be displayed." An optional keyword may be given:< FUNCTION=TEXT Displays the translated I/O request function/ along with eventual functioncode modifiers./ Function bits which could not be translated( will be shown in hexadecimal format.5 FUNCTION=HEX Displays the I/O request function code in hexadecimal format. The default is /FUNCTION=TEXT. 3 /HEADER /HEADER (Default) /NOHEADER? This qualifier enables a header to be displayed before showing= tracedata. The header contains a timestamp of when the traceB was made, a devicename of the LD-device involved and the nodename of the system. 3 /NUMBER /NUMBER /NONUMBER (Default)5 This qualifier enables entrynumbers to be displayed.3 /INDEX /INDEX=nB This qualifier enables watchpoint display by index. The parameter0 is the watchpoint number as seen by the driver.3 /INPUT /INPUT[=filespec]D This qualifier forces input tracedata to be read from the specified, file. The default filename is LD_TRACE.DAT.3 /IOSB /IOSB[=Keyword] /NOIOSB; This qualifier enables the I/O status block of the request to be displayed." An optional keyword may be given:2 IOSB=TEXT Displays the translated errortext from the iosb.2 IOSB=HEX Displays the first longword of the iosb in hexadecimal format.5 IOSB=LONGHEX Displays both longwords of the iosb in hexadecimal format.9 IOSB=COMBINATION Displays the translated error text from. the iosb, as well as the returned count in% the upper first word of the iosb. The default is /IOSB=TEXT.3 /LBN /LBN [=HEX,DECIMAL] (Default) /NOLBN= This qualifier enables to Logical blocknumber of the request? to be displayed. It allows either Hex or Decimal format, where decimal is the default. 3 /OUTPUT /OUTPUT[=filespec]A This qualifier forces output of the tracedata data to be writtenB to the specified file. The default output will be readable ASCII,C unless /BINARY was also specified. In that case a binary file will? be written which can be processed at a later time with /INPUT.B The default filename is LD_TRACE.LOG for normal ASCII output, and LD_TRACE.DAT for binary output.3 /PID /PID (Default) /NOPIDC This qualifier enables to Process Identification of the requesting process to be displayed.3 /RESET= When this qualifier is specified in combination with /TRACE,< the tracebuffer will be dumped and the buffer will be resetA afterwards. This is an atomic operation, such that no bufferdata will be lost. 3 /STATUS= This qualifier will show the currently allocated size of the> tracebuffer, as well as the number of entries in use. It must$ be used in combination with /TRACE. 3 /SYMBOLB This qualifier will set the LD unit number in DCL symbol LD_UNIT,A and the container file specification in the symbol LD_CONTAINER.: When used with tapes (LM) the symbols will be LM_UNIT and LM_CONTAINER. 3 /TIMESTAMP /TIMESTAMP[=Keyword] /NOTIMESTAMP> This qualifier enables the Start-time as well as the End-time7 or the Elapsed time of an I/O request to be displayed." An optional keyword may be given:: TIMESTAMP=ABSOLUTE Displays the Start-time of the request/ as well as the End-time in absolute format.< TIMESTAMP=ELAPSED Displays the Elapsed time of the request.; TIMESTAMP=COMBINATION Displays the End-time of the request- in absolute format as well as the Elapsed time of the request.? TIMESTAMP=DELTA Displays the elapsed time between the current, request and the previous request. If the. end-time of the previous request was after/ the end-time of the current request (out of3 order I/O completion) the line will be preceded with a dash.@ TIMESTAMP=START Displays Start-time of the request in absolute format.< TIMESTAMP=END Displays End-time of the request in absolute format.' The default is /TIMESTAMP=COMBINATION.3 /TRACE: When this qualifier is specified, the trace buffer of the! specified device will be dumped.3 /VERSION_LIMIT /VERSION_LIMIT=limit; This qualifier can be used when a continuous trace is made7 to control the number of concurrent datafiles on disk.: Anytime the datafilesize exceeds the size specified with 9 /BLOCKS a new file will be created after the old file is: closed. If there are more files available than the number; specified with this qualifier, they will be purged up till the specified limit. 3 /WARNINGS /WARNINGS (Default) /NOWARNINGS9 When this qualifier is specified a warning will be given= anytime when there are tracerecords lost. The number of lost; records will be displayed. /NOWARNINGS will suppress these messages.3 /WATCH@ When this qualifier is specified, the currently set watchpoints( of the specified device will be dumped.2 TRACE LD TRACE LDan:< This command initializes the trace buffer for the specified: device. This buffer will log the following data for every I/O request: o Process ID o Logical block number o I/O request size o I/O Function code o I/O status block0 o Timestamp from the start of the I/O request. o Timestamp from the end of the I/O request7 The default size is 512 entries, the maximum is as big as pool will allow.& The allocated size from pool will be:% PoolSize (in Bytes) = (N * 88) + 12& where N equals the number of entries. 3 /ACCURATE= This qualifier was used in the past to allow accurate timing= measurements. A new method of collecting the timing has been= used which always collects the accurate samples, making this( qualifier obsolete. It will be ignored.3 /ALL< The first use of this qualifier is to enable all data to be> logged for tape devices. This means that besides the tape I/O2 also the underlaying requests to disk are logged.8 The second use is in combination with /STOP to stop all? processes which are currently tracing data for all LD devices.3 /FDT: Allows FDT routine access to be traced. This is a form ofC preprocessing which every I/O request goes through. This qualifierA causes usage of additional entries in the tracebuffer for almost. every I/O request, hence it is made optional.( This qualifier will only work on Alpha.3 /RESET@ When this qualifier is specified the tracebuffer will be reset./ All data currently in the buffer will be lost.3 /SIZE /SIZE[=number_of_entries]8 Specifies the size of the tracebuffer. The default size is 512 entries.3 /STOP= This qualifier can be used to stop another process which has< issued a SHOW/TRACE/CONTINUOUS command. The devicename must? be specified (unless /ALL was given). If the trace was started? by a process in the same UIC group, GROUP privilege is needed.= If the process belongs to another UIC group, WORLD privilege is needed. 2 NOTRACE LD NOTRACE LDan:= This command deallocates the tracebuffer. All data currently& available in the buffer will be lost. 2 PROTECT LD PROTECT LDan:6 This command will write-protect the specified device. 3 /PERMANENT /PERMANENT= Save writelock status in the containerfile so that it may be? used during CONNECT (like emulating a 'hardware write protect' button).2 SWITCH LM SWITCH filespec LMan:F This command allows volume switching for backup. The existing virtualE tapeunit is re-used with a the new container file. The old file will be disconencted.? This command accepts the same switches as the CONNECT command.2 UNLOAD LM UNLOAD LMan:E This command will unload the specified file from the LM device. ThisH is different from LM DISCONNECT in that the unit will be kept available/ for subsequent reuse with the LM LOAD command.3 /LOG /LOG /NOLOG (default)5 Shows the status after the device has been unloaded. 3 /TRUNCATEG This qualifier will truncate the container file to the highest writtenE block. This can be used to trim excess blocks which may be left over from an extend operation.2 WATCH LD WATCH LDan: lbn [,lbn...]; This command will set a watchpoint on a virtual or logical; blocknumber on the specified device. The lbn is ignored on7 I/O functions which don't need an lbn (IO$_PACKACK for example).; This makes it possible to let the driver take some actions? dependant of which lbn was accessed with a specified function- code. 3 /FUNCTION /FUNCTION[=Keyword]G This qualifier specifies for which I/O function the watchpoint is set." An optional keyword may be given:: FUNCTION=ALL The watchpoint is set for all I/O functions6 FUNCTION=READ The watchpoint is set for IO$_READPBLK8 FUNCTION=WRITE The watchpoint is set for IO$_WRITEPBLK= FUNCTION=CODE=number The watchpoint is set for the specified I/O function code The default is /FUNCTION=READ 3 /ACTION /ACTION[=Keyword]A This qualifier specifies the action to be performed when a validC watchpoint is encountered. To be able to set a watchpoint one must= have either CMKRNL privilege, or be the owner of the device.C A watchpoint may have one action only: CRASH, ERROR or SUSPEND. AnD exception is OPCOM, which may be specified in addition to any other" action for a specific watchpoint." An optional keyword may be given:7 ACTION=CRASH This action will crash the system when a. matching lbn and function are found. Usage+ of this keyword needs CMKRNL privilege.& The bugcheck type will be RSVD_LP.= ACTION=ERROR[=code] This action will return a user-specified. errorcode when a matching lbn and function- are found. When the code is not specified" SS$_BUGCHECK will be returned.; ACTION=SUSPEND This action will suspend the thread when a- matching lbn and function are found. This. enables one to look at the system with SDA1 for further investigation. LD SHOW/WATCH will- show all processes waiting for a specific1 watchpoint, while LD WATCH/RESUME will resume the thread.= ACTION=OPCOM This action will display an OPCOM message when. a matching lbn and function are found. The+ message includes the process-id and the0 imagename doing the request, the devicename,3 the functioncode and the lbn. If the watchpoint/ was a virtual one (/FILE specified) then it/ will show the vbn as well as the file-id of the corresponding file.0 The default is /ACTION=ERROR=676 (SS$_BUGCHECK)3 /FILE /FILE=filespecA This qualifier will enable a virtual watchpoint on the specified@ file. The parameter(s) will then be virtual blocknumbers of the file. 3 /RESUME /RESUMED This qualifier resumes a suspended watchpoint. The parameter is theA watchpoint to resume. An alternate way to resume a watchpoint isG by /INDEX. If no parameter is specified then all suspended watchpoints will be resumed.3 /INDEX /INDEX=nA This qualifier enables watchpoint resume by index. The parameter$ is the watchpoint number to resume. 2 VERSIONA This command will show the current version of the LD utility and the driver. 2 Examples9 A couple of examples of some of LDdriver's capabilities. 3 Version Show the version: $ ld versionI %LD-I-VERSION, LD version V9.0, module X-9 built on Oct 28 2006 15:19:29K -LD-I-DRIVERVERSION, Driver version: 28-OCT-2006 15:19:59.26 (MON version)W -LD-I-SYSINFO, Node: THEBAT, Hardware: hp AlphaServer DS20L 833 MHz, VMS version: V8.3 3 WatchPoint An example of watchpoint usage: $ LD CREATE TMP $ LD CONNECT/LOG TMP LDA1X %LD-I-CONNECTED, Device THEBUG$LDA1: is connected to $8$DIA0:[USERS.VDBURG.LD]TMP.DSK;1 $ INIT LDA1: TEST $ MOUNT/SYSTEM LDA1: TESTA %MOUNT-I-MOUNTED, TEST mounted on _THEBUG$LDA1: (THEBUG)* $ COPY/ALLOC=10 NL: LDA1:[000000]JUNK.DAT% $ SET FILE/END LDA1:[000000]JUNK.DAT? $ LD WATCH LDA1 5/FILE=LDA1:[000000]JUNK.DAT/ACTION=ERROR=%X2C: $ LD WATCH LDA1 5/FILE=LDA1:[000000]JUNK.DAT/ ACTION=OPCOM! $ LD WATCH LDA1 1/ACTION=SUSPEND $ LD SHOW/WATCH LDA1:< Index LBN Action Function Error return codeE --------------------------------------------------------------------- THEBUG$LDA1:[000000]JUNK.DAT;1: 1 5 Opcom READPBLK- THEBUG$LDA1:[000000]JUNK.DAT;1:9 2 5 Error READPBLK 002C (ABORT) 3 1 Suspend READPBLK5 $ DUMP LDA1:[000000]JUNK.DAT/BLOCK=(START=5,COUNT=1)9 %%%%%%%%%%% OPCOM 28-FEB-1994 14:38:17.90 %%%%%%%%%%%# Message from user VDBURG on THEBUG4 ***** LDdriver detected VBN watchpoint access ***** PID: 2020006A Image: DUMP Device: THEBUG$LDA1: Function: 000C VBN: 5 File id: (11,1,0)7 %DUMP-E-READERR, error reading LDA1:[000000]JUNK.DAT;1 -SYSTEM-F-ABORT, abort< $ SPAWN/NOWAIT/INPUT=NL: DUMP/BLOCK=(START=1,COUNT=1) LDA1:) %DCL-S-SPAWNED, process VDBURG_1 spawned $ WAIT 0:0:1 $ LD SHOW/WATCH LDA1:< Index LBN Action Function Error return codeE --------------------------------------------------------------------- THEBUG$LDA1:[000000]JUNK.DAT;1: 1 5 Opcom READPBLK- THEBUG$LDA1:[000000]JUNK.DAT;1:9 2 5 Error READPBLK 002C (ABORT) 3 1 Suspend READPBLK) Suspended process: 202000E7 $ LD WATCH/RESUME LDA1:0 Dump of device LDA1: on 28-FEB-1994 14:38:20.474 Logical block number 1 (00000001), 512 (0200) bytes= 00010201 00000018 00000004 00000001 ................ 000000= 00000080 00000007 00050004 00030002 ................ 000010= 00400040 00000000 00000000 000A0001 ............@.@. 000020 . . .3 MountVerification8 An example of how to put a disk into Mountverification:" $ ld create/nobackup tempdisk.dsk% $ ld connect/log/symbol tempdisk.dskB %LD-I-CONNECTED, Connected $7$LDA7: to $7$DKC0:[LD]TEMPDISK.DSK;1 $ init/nohigh/system lda7: test $ mount lda7: test5 % MOUNT-I-MOUNTED, TEST mounted on _$7$LDA7: (UTRI64) $ ld trace lda7:: $ ld watch lda7: 1/action=error=%x84/function=code=%x08084 $ ld watch lda7: 10/action=error=%x84/function=read/ $ ld watch lda7: 10/action=opcom/function=read $ ld show/watch lda7:< Index LBN Action Function Error return codeE --------------------------------------------------------------------> 1 Error PACKACK|INHERLOG 0084 (DEVOFFLINE) 2 10 Opcom READPBLK> 3 10 Error READPBLK 0084 (DEVOFFLINE) $ reply/enable/temp9 %%%%%%%%%%% OPCOM 20-DEC-2004 22:24:33.86 %%%%%%%%%%%9 Operator _UTRI64$VTA3: has been enabled, username VDBURG9 %%%%%%%%%%% OPCOM 20-DEC-2004 22:24:33.86 %%%%%%%%%%%+ Operator status for operator _UTRI64$VTA3:L CENTRAL, PRINTER, TAPES, DISKS, DEVICES, CARDS, NETWORK, CLUSTER, SECURITY,P LICENSE, OPER1, OPER2, OPER3, OPER4, OPER5, OPER6, OPER7, OPER8, OPER9, OPER10, OPER11, OPER12= $ spawn/nowait/input=nl: dump lda7:/block=(start=10,count=1)+ %DCL-S-SPAWNED, process VDBURG_121 spawned* $ inquire dummy "Press return to continue Press return to continue:9 %%%%%%%%%%% OPCOM 20-DEC-2004 22:24:33.90 %%%%%%%%%%%% Device $7$LDA7: (UTRI64) is offline.# Mount verification is in progress. Press return to continue:9 %%%%%%%%%%% OPCOM 20-DEC-2004 22:24:33.90 %%%%%%%%%%%# Message from user VDBURG on UTRI644 ***** LDdriver detected LBN watchpoint access ***** PID: 5F000428 Image: DCL Device: $7$LDA7: (UTRI64) Function: 000C LBN: 10 Press return to continue: $ ld nowatch lda7: $ ld show/trace lda7:' I/O trace for device $7$LDA7:, 20-DEC-2004 22:24:4.66 on node UTRI64::? Start Time Elaps Pid Lbn Bytes Iosb Function> -------------------------------------------------------------A 22:24:33.90 00.00 5F000428 10 512 DEVOFFLINE READPBLKI 22:24:33.90 00.00 00000000 0 0 DEVOFFLINE PACKACK|INHERLOGI 22:24:34.29 00.00 00000000 0 0 DEVOFFLINE PACKACK|INHERLOGI 22:24:35.29 00.00 00000000 0 0 DEVOFFLINE PACKACK|INHERLOGI 22:24:36.29 00.00 00000000 0 0 DEVOFFLINE PACKACK|INHERLOGI 22:24:37.29 00.00 00000000 0 0 DEVOFFLINE PACKACK|INHERLOGI 22:24:38.29 00.00 00000000 0 0 DEVOFFLINE PACKACK|INHERLOGI 22:24:39.29 00.00 00000000 0 0 DEVOFFLINE PACKACK|INHERLOGI 22:24:40.29 00.00 00000000 0 0 DEVOFFLINE PACKACK|INHERLOG $ reply/disable8 %%%%%%%%%%% OPCOM 20-DEC-204 22:24:40.68 %%%%%%%%%%%: Operator _UTRI64$VTA3: has been disabled, username VDBURG $ wait 0:0:10 Dump of device LDA7: on 20-DEC-2004 22:24:33.905 Logical block number 10 (0000000A), 512 (0200) bytesq 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 000000q 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 000020q 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 000040q 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 000060q 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 000080q 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 0000A0q 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 0000C0q 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 0000E0q 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 000100q 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 000120q 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 000140q 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 000160q 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 000180q 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 0001A0q 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 0001C0q 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 0001E0 $ dism lda7: $ ld disc lda7:$ $ delete/nolog/noconf tempdisk.dsk; 3 BigDisk How to create a big disk: $! create a bigggg disk $!G $! Volset DPA DSA LDA LabelH $!---------------------------------------------------------------------8 $! LDA1N $! DSA10 ST00000000008 $! LDA2 $! DPA208 $! LDA3N $! DSA11 ST00000000018 $! LDA4 $! BIGDISK8 $! LDA5N $! DSA12 ST10000000008 $! LDA6 $! DPA218 $! LDA7N $! DSA13 ST10000000018 $! LDA8 $! $ size = 1000000: $ ld create/log/nobackup/size=1000000 $7$dkc0:[ld]ld1.dsk2 %LD-I-CREATED, File $7$DKC0:[LD]LD1.DSK;2 created: $ ld create/log/nobackup/size=1000000 $7$dkc0:[ld]ld2.dsk2 %LD-I-CREATED, File $7$DK C0:[LD]LD2.DSK;2 created: $ ld create/log/nobackup/size=1000000 $7$dkc0:[ld]ld3.dsk2 %LD-I-CREATED, File $7$DKC0:[LD]LD3.DSK;2 created: $ ld create/log/nobackup/size=1000000 $7$dkc0:[ld]ld4.dsk2 %LD-I-CREATED, File $7$DKC0:[LD]LD4.DSK;2 created: $ ld create/log/nobackup/size=1000000 $7$dkc0:[ld]ld5.dsk2 %LD-I-CREATED, File $7$DKC0:[LD]LD5.DSK;2 created: $ ld create/log/nobackup/size=1000000 $7$dkc0:[ld]ld6.dsk2 %LD-I-CREATED, File $7$DKC0:[LD]LD6.DSK;2 created: $ ld create/log/nobackup/size=1 000000 $7$dkc0:[ld]ld7.dsk2 %LD-I-CREATED, File $7$DKC0:[LD]LD7.DSK;2 created: $ ld create/log/nobackup/size=1000000 $7$dkc0:[ld]ld8.dsk2 %LD-I-CREATED, File $7$DKC0:[LD]LD8.DSK;2 created' $ ld conn/log $7$dkc0:[ld]ld1.dsk lda1= %LD-I-CONNECTED, Connected $7$LDA1: to $7$DKC0:[LD]LD1.DSK;1' $ ld conn/log $7$dkc0:[ld]ld2.dsk lda2= %LD-I-CONNECTED, Connected $7$LDA2: to $7$DKC0:[LD]LD2.DSK;1' $ ld conn/log $7$dkc0:[ld]ld3.dsk lda3= %LD-I-CONNECTED, Connected $7$LDA3: to $7$DKC0:[LD]LD3.DSK; 1' $ ld conn/log $7$dkc0:[ld]ld4.dsk lda4= %LD-I-CONNECTED, Connected $7$LDA4: to $7$DKC0:[LD]LD4.DSK;1' $ ld conn/log $7$dkc0:[ld]ld5.dsk lda5= %LD-I-CONNECTED, Connected $7$LDA5: to $7$DKC0:[LD]LD5.DSK;1' $ ld conn/log $7$dkc0:[ld]ld6.dsk lda6= %LD-I-CONNECTED, Connected $7$LDA6: to $7$DKC0:[LD]LD6.DSK;1' $ ld conn/log $7$dkc0:[ld]ld7.dsk lda7= %LD-I-CONNECTED, Connected $7$LDA7: to $7$DKC0:[LD]LD7.DSK;1' $ ld conn/log $7$dkc0:[ld]ld8.dsk lda8= %LD-I-CONNECTED, Connected $7$LDA8: to $7$DKC0:[LD]LD8.DSK;1 $ ld trace lda1 $ ld trace lda2 $ ld trace lda3 $ ld trace lda4 $ ld trace lda5 $ ld trace lda6 $ ld trace lda7 $ ld trace lda8 $ ld show/all> %LD-I-CONNECTED, Connected _$7$LDA1: to $7$DKC0:[LD]LD1.DSK;1> %LD-I-CONNECTED, Connected _$7$LDA2: to $7$DKC0:[LD]LD2.DSK;1> %LD-I-CONNECTED, Connected _$7$LDA3: to $7$DKC0:[LD]LD3.DSK;1> %LD-I-CONNECTED, Connected _$7$LDA4: to $7$DKC0:[LD]LD4.DSK;1> %LD-I-CONNECTED, Connected _$7$LDA5: to $7$DKC0:[LD]LD5.DSK;1 > %LD-I-CONNECTED, Connected _$7$LDA6: to $7$DKC0:[LD]LD6.DSK;1> %LD-I-CONNECTED, Connected _$7$LDA7: to $7$DKC0:[LD]LD7.DSK;1> %LD-I-CONNECTED, Connected _$7$LDA8: to $7$DKC0:[LD]LD8.DSK;11 $ raid init/noconfirm/raid_level=0 st0 lda1,lda3> %RAID-I-PRTCREATED, Array partition 1 created: 1995112 blocks1 $ raid init/noconfirm/raid_level=0 st1 lda5,lda7> %RAID-I-PRTCREATED, Array partition 1 created: 1995112 blocks@ $ raid bind st0 lda1,lda3/shadow/use_shadow=(dsa10,dsa11) dpa20@ %RAID-I-ISBOUND, unit _DSA10: is bound as a member of array ST0@ %RAID-I-INUSE, unit _$7$LDA1: is a shadow set member of _DSA10:@ %RAID-I-ISBOUND, unit _DSA11: is bound as a member of array ST0@ %RAID-I-INUSE, unit _$7$LDA3: is a shadow set member of _DSA11:K %RAID-I-VUCREATE, virtual unit DPA0020: was created for partition 1 on ST0@ $ raid bind st1 lda5,lda7/shadow/use_shadow=(dsa12,dsa13) dpa21@ %RAID-I-ISBOUND, unit _DSA12: is bound as a member of array ST1@ %RAID-I-INUSE, unit _$7$LDA5: is a shadow set member of _DSA12:@ %RAID-I-ISBOUND, unit _DSA13: is bound as a member of array ST1@ %RAID-I-INUSE, unit _$7$LDA7: is a shadow set member of _DSA13:K %RAID-I-VUCREATE, virtual unit DPA0021: was created for partition 1 on ST14 $ mount/system dsa10:/shadow=_$7$LDA2: st00000000002 %MOUNT-I-MOUNTED, ST0000000000 mounted on _DSA10:W %MOUNT-I-SHDWMEMCOPY, _$7$LDA2: (UTRA41) added to the shadow set with a copy operationB %MOUNT-I-ISAMBR, _$7$LDA1: (UTRA41) is a member of the shadow set4 $ mount/system dsa11:/shadow=_$7$LDA4: st00000000012 %MOUNT-I-MOUNTED, ST0000000001 mounted on _DSA11:W %MOUNT-I-SHDWMEMCOPY, _$7$LDA4: (UTRA41) added to the shadow set with a copy operationB %MOUNT-I-ISAMBR, _$7$LDA3: (UTRA41) is a member of the shadow set4 $ mount/system dsa12:/shadow=_$7$LDA6: st10000000002 %MOUNT-I-MOUNTED, ST1000000000 mounted on _DSA12:W %MOUNT-I-SHDWMEMCOPY, _$7$LDA6: (UTRA41) added to the shadow set with a copy operationB %MOUNT-I-ISAMBR, _$7$LDA5: (UTRA41) is a member of the sh adow set4 $ mount/system dsa13:/shadow=_$7$LDA8: st10000000012 %MOUNT-I-MOUNTED, ST1000000001 mounted on _DSA13:W %MOUNT-I-SHDWMEMCOPY, _$7$LDA8: (UTRA41) added to the shadow set with a copy operationB %MOUNT-I-ISAMBR, _$7$LDA7: (UTRA41) is a member of the shadow set $ init/nohig dpa20: vset0 $ init/nohig dpa21: vset1= $ mount/system/bind=bigdisk dpa20,dpa21: vset0,vset1 bigdisk4 %MOUNT-I-MOUNTED, VSET0 mounted on _DPA20: (UTRA41)4 %MOUNT-I-MOUNTED, VSET1 mounted on _DPA21: (UTRA41) $ l d show/trace/status lda1S %LD-I-STATUS, Device $7$LDA1: has a tracebuffer of 512 entries (512 valid records) $ ld show/trace/status lda2S %LD-I-STATUS, Device $7$LDA2: has a tracebuffer of 512 entries (512 valid records) $ ld show/trace/status lda3S %LD-I-STATUS, Device $7$LDA3: has a tracebuffer of 512 entries (512 valid records) $ ld show/trace/status lda4S %LD-I-STATUS, Device $7$LDA4: has a tracebuffer of 512 entries (512 valid records) $ ld show/trace/status lda5S %LD-I-STATUS, D evice $7$LDA5: has a tracebuffer of 512 entries (512 valid records) $ ld show/trace/status lda6S %LD-I-STATUS, Device $7$LDA6: has a tracebuffer of 512 entries (512 valid records) $ ld show/trace/status lda7S %LD-I-STATUS, Device $7$LDA7: has a tracebuffer of 512 entries (512 valid records) $ ld show/trace/status lda8S %LD-I-STATUS, Device $7$LDA8: has a tracebuffer of 512 entries (512 valid records) $ sh dev ldQ Device Device Error Volume Free Trans MntQ Name Status Count Label Blocks Count Cnt/ $7$LDA0: (UTRA41) Online 0C $7$LDA1: (UTRA41) ShadowSetMember 0 (member of DSA10:)O $7$LDA2: (UTRA41) ShadowCopying 0 (copy trgt DSA10: 6% copied)C $7$LDA3: (UTRA41) ShadowSetMember 0 (member of DSA11:)O $7$LDA4: (UTRA41) ShadowCopying 0 (copy trgt DSA11: 4% copied)C $7$LDA5: (UTRA41) ShadowSetMember 0 (member of DSA12:)O $7$LDA6: (UTRA41) ShadowCopying 0 (copy trgt DSA12: 3% copied)C $7$LDA7: (UTRA41) ShadowSetMember 0 (member of DSA13:)O $7$LDA8: (UTRA41) ShadowCopying 0 (copy trgt DSA13: 1% copied) $ sh dev dsa10Q Device Device Error Volume Free Trans MntQ Name Status Count Label Blocks Count CntQ DSA10: Mounted 0 ST0000000000 0 2 1C $7$LDA1: (UTRA41) ShadowSetMember 0 (member of DSA10:)O $7$LDA2: (UTRA41) ShadowCopying 0 (copy trgt DSA10: 6% copied) $ sh dev dsa11Q Device Device Error Volume Free Trans MntQ Name Status Count Label Blocks Count CntQ DSA11: Mounted 0 ST0000000001 0 2 1C $7$LDA3: (UTRA41) ShadowSetMember 0 (member of DSA11:)O $7$LDA4: (UTRA41) ShadowCopying 0 (copy trgt DSA11: 4% copied) $ sh dev dsa12Q Device Device Error Volume Free Trans MntQ Name Status Count Label Blocks Count CntQ DSA12: Mounted 0 ST1000000000 0 2 1C $7$LDA5: (UTRA41) ShadowSetMember 0 (member of DSA12:)O $7$LDA6: (UTRA41) ShadowCopying 0 (copy trgt DSA12: 3% copied)  $ sh dev dsa13Q Device Device Error Volume Free Trans MntQ Name Status Count Label Blocks Count CntQ DSA13: Mounted 0 ST1000000001 0 2 1C $7$LDA7: (UTRA41) ShadowSetMember 0 (member of DSA13:)O $7$LDA8: (UTRA41) ShadowCopying 0 (copy trgt DSA13: 1% copied) $ sh dev bigdiskQ Device Device Error Volume  Free Trans MntQ Name Status Count Label Blocks Count CntQ DPA20: (UTRA41) Mounted 0 VSET0 1994928 1 1Q DPA21: (UTRA41) Mounted 0 VSET1 1994944 1 1 3 IoTrace $ ld create trace.dsk $ ld connect trace lda1 $ ld trace lda1 $ init/nohigh/sys lda1 trace $ mount/sys lda1 trace6 %MOUNT-I-MOUNTED, TRACE mounted on _$3$LDA1: (THEBAT) $ ld show/trace lda1'  I/O trace for device $3$LDA1:+ 28-OCT-2006 16:05:18.59 on node THEBATF End Time Elaps Pid Lbn Bytes Iosb FunctionF ---------------------------------------------------------------------M 16:05:10.771403 00.007325 20C00430 5 512 NORMAL READPBLK|EXFUNCX 16:05:10.779412 00.007851 20C00430 5 512 NORMAL WRITEPBLK|EXFUNC|DATACHECKD 16:05:10.779547 00.000000 20C00430 0 0 NORMAL UNLOADE 16:05:12.603531 00.000000 20C00430  0 0 NORMAL PACKACKE 16:05:12.603611 00.000000 20C00430 0 0 NORMAL PACKACKN 16:05:12.603677 00.000000 20C00430 0 0 NORMAL PACKACK|INHERLOGE 16:05:12.603738 00.000000 20C00430 0 0 NORMAL PACKACKF 16:05:12.609520 00.005659 20C00430 1 512 NORMAL READPBLKG 16:05:12.613568 00.003897 20C00430 2 512 NORMAL WRITEPBLKG 16:05:12.617556 00.003860 20C00430 2 512 NORMAL WRITEPBLKQ 16:05:12.625511 00.007764 20C00430 0 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.634013 00.008312 20C00430 511 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.641501 00.007352 20C00430 1 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.649989 00.008359 20C00430 510 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.657492 00.007372 20C00430 2 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.665966 00.008345 20C00430 509 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.673485 00.007391 20C00430 3 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.681940 00.008326 20C00430 508 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.689473 00.007403 20C00430 4 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.697914 00.008315 20C00430 507 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.705465 00.007424 20C00430 5 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.713893 00.008302 20C00430 506 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.721462 00.007438 20C00430 6 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.729867 00.008270 20C00430 505 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.737453 00.007457 20C00430 7 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.745845 00.008263 20C00430 504 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.753440 00.007465 20C00430 8 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.761821 00.008252 20C00430 503 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.769434 00.007482 20C00430 9 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.777799 00.008237 20C00430 502 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.785427 00.007485 20C00430 10 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.793771 00.008216 20C00430 501 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.801411 00.007511 20C00430 11 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.809750 00.008207 20C00430 500 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.817404 00.007528 20C00430  12 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.825724 00.008193 20C00430 499 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.833398 00.007527 20C00430 13 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.841704 00.008176 20C00430 498 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.849387 00.007553 20C00430 14 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.857677 00.008156 20C00430 497 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.865378 00.007571 20C00430  15 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.873652 00.008138 20C00430 496 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.881372 00.007589 20C00430 16 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.889629 00.008123 20C00430 495 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.897363 00.007602 20C00430 17 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.905603 00.008111 20C00430 494 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.913356 00.007621 20C00430   18 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.921583 00.008098 20C00430 493 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.929345 00.007629 20C00430 19 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.937557 00.008076 20C00430 492 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.945340 00.007658 20C00430 20 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.953533 00.008058 20C00430 491 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.961331 00.007649 20C00430   21 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.969520 00.008054 20C00430 490 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.977322 00.007668 20C00430 22 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.985489 00.008034 20C00430 489 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:12.993314 00.007691 20C00430 23 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.001465 00.008018 20C00430 488 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.009310 00.007702 20C00430  24 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.017442 00.007997 20C00430 487 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.025297 00.007725 20C00430 25 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.033419 00.007989 20C00430 486 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.041288 00.007729 20C00430 26 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.049392 00.007973 20C00430 485 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.057280 00.007761 20C00430 27  512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.065370 00.007962 20C00430 484 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.073270 00.007772 20C00430 28 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.081344 00.007941 20C00430 483 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.089262 00.007791 20C00430 29 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.097321 00.007929 20C00430 482 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.105255 00.007806 20C00430 30   512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.113300 00.007917 20C00430 481 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.121246 00.007817 20C00430 31 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.129274 00.007901 20C00430 480 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.137238 00.007836 20C00430 32 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.145248 00.007881 20C00430 479 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.153014 00.007614 20C00430 5 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.161014 00.007576 20C00430 6 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.168961 00.007797 20C00430 0 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.176953 00.007862 20C00430 0 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.184949 00.007855 20C00430 1 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.192948 00.007863 20C00430 2 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.200981 00.007891 20C00430 7 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.209010 00.007896 20C00430 12 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.217019 00.007880 20C00430 14 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.225002 00.007853 20C00430 13 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.233011 00.007870 20C00430 15 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.241008 00.007863 20C00430 16 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.248941 00.007803 20C00430 8 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.257053 00.007980 20C00430 24 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.264940 00.007757 20C00430 10 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.272923 00.007847 20C00430 9 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.280976 00.007895 20C00430 17 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.288922 00.007812 20C00430 11 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.296852 00.007781 20C00430 3 512 NORMAL WRITEPBLK|DATACHECKQ 16:05:13.305016 00.008038 20C00430 25 512 NORMAL WRITEPBLK|DATACHECKF 16:05:13.308936 00.003785 20C00430 17 512 NORMAL READPBLKQ 16:05:13.316945 00.007880 20C00430 17 512 NORMAL WRITEPBLK|DATACHECKF 16:05:13.320823 00.003731 20C00430 5 512 NORMAL READPBLKQ 16:05:13.328840 00.007895 20C00430 5 512 NORMAL WRITEPBLK|DATACHECKG 16:05:13.328957 00.000000 20C00430 0 0 NORMAL AVAILABLEN 16:05:14.897422 00.000000 20C00430 0 0 NORMAL PACKACK|INHERLOGF 16:05:14.903213 00.005642 20C00430 1 512 NORMAL READPBLKF 16:05:14.903494 00.000094 20C00430 2 512 NORMAL READPBLKF 16:05:14.903801 00.000182 20C00430 8 512 NORMAL READPBLKF 16:05:14.904091 00.000155 20C00430 9 512 NORMAL READPBLKF 16:05:14.904387 00.000175 20C00430 5 512 NORMAL READPBLKG 16:05:14.907277 00.002771 20C00430 5 512 NORMAL WRITEPBLKG 16:05:14.911272 00.003508 20C00430 5 512 NORMAL WRITEPBLKF 16:05:14.911554 00.000164 20C00430 6 512 NORMAL READPBLKF 16:05:14.911847 00.000162 20C00430 7 512 NORMAL READPBLKM 16:05:14.912981 00.000164 20C00430 11 512 NORMAL READPBLK|EXFUNCM 16:05:14.915202 00.002046 20C00430 3 512 NORMAL READPBLK|EXFUNCV 16:05:14.915481 00.000000 20C00430 0 0 NORMAL PACKACK|BYPASS_VALID_CHKM 16:05:14.915772 00.000168 20C00430  5 512 NORMAL READPBLK|EXFUNCM 16:05:14.916130 00.000156 20C00430 17 512 NORMAL READPBLK|EXFUNCX 16:05:14.923226 00.006746 20C00430 3 512 NORMAL WRITEPBLK|EXFUNC|DATACHECKX 16:05:14.931319 00.007929 20C00430 17 512 NORMAL WRITEPBLK|EXFUNC|DATACHECKF 16:05:14.931806 00.000173 20C00430 25 1024 NORMAL READPBLKX 16:05:14.939314 00.007223 20C00430 17 512 NORMAL WRITEPBLK|EXFUNC|DATACHECKww