DFU> disk/FRAG DFU> disk/FRAG=min=10 DFU> disk/FRAG=(min=10,max=100)
These 2 options can be used to get files which have a modification date before or after a specific date. The BEFORE and SINCE option can be combined in one command.
This chapter describes the SET command with the related parameters
and qualifiers.
10.1 Introduction
The SET command allows you to modify file attributes which can't be modified through DCL commands. Note that you should be carefull about using this function; you may easily corrupt files. NOTE: This much wanted functionality is finally introduced in VMS 6.0 with a new DCL command $SET FILE/ATTRIBUTES. Still DFU's SET has some options which are not in SET FILE/ATTRIBUTES (such as setting a BACKUP date).
10.2 UIC and identifier processing
As of this version of DFU the /OWNER and /IDENT qualifier now accepts all valid uic or identifier formats. See chapter 9.5 for details.
Modify file attributes.
SET file1,file2,...,@file
file1,file2,...,@file
The files to be modified. The attributes to be modified are specified with qualifiers. Wildcards area allowed in the filename. An indirect file can be used by using the @ sign. This allows processing of a file list produced by a DFU SEARCH command.
/BACKUP_DATE=date
/NOBACKUP_DATE
Controls whether a new backup date is assigned to the specified files. Specify the date according to the rules described in Chapter 1 of the VMS DCL Concepts Manual. Absolute date keywords are allowed. If you specify 0 as the date, today's date is used. If you specify /NOBACKUP_DATE the Backup date field will be cleared./BADACL
/NOBADACL
Sets or resets the 'BADACL' flag in the file header. This enables deletion of a file with a corrupted ACL./BUCKETSIZE=size
Sets a new value for the bucket size in the file header./CONFIRM
/NOCONFIRM (default)
Controls whether a request is issued before each individual SET operation to confirm that the operation should be performed on that file. When the system issues the prompt, you can issue any of the following responses:YES NO QUIT TRUE FALSE CTRL/Z 1 0 ALL <RET>You can use any combination of upper- and lowercase letters for word responses. Word responses can be abbreviated to one or more letters (for example, T, TR, or TRU for TRUE). Affirmative answers are YES, TRUE, and 1. Negative answers are NO, FALSE, 0, and <RET>. QUIT or CTRL/Z indicates that you want to stop processing the command at that point. When you respond with ALL, the command continues to process, but no further prompts are given. If you type a response other than one of those in the list, the prompt will be reissued.
/CONTIGUOUS_BEST_TRY
/NOCONTIGUOUS_BEST_TRY
Sets or resets the 'CONTIGUOUS_BEST_TRY' bit in the file header./CREATION_DATE=date
/NOCREATION_DATE
Controls whether a new creation date is assigned to the specified files. Specify the date according to the rules described in Chapter 1 of the VMS DCL Concepts Manual. Absolute date keywords are allowed. If you specify 0 as the date, today's date is used./DIRECTORY
/NODIRECTORY
Sets or resets the directory attribute of a file. This qualifier allows you to set the directory bit of a file which was mistakingly reset by the 'SET FILE/NODIRECTORY' command. If it is done on a non-directory file, then access to that directory will give a 'BADIRECTORY' error./EBLOCK[=block]
This qualifier will reset the end-of-file mark to the highest block allocated if no block has been specified. Otherwise the end-of-file mark will be set to the specified block./EBYTE[=byte]
This qualifier will set the end-of-file byte mark to the highest byte if it has not been specified. Otherwise the end-of-file byte mark will be set to the specified byte./EXPIRATION_DATE=date
/NOEXPIRATION_DATE
Controls whether an expiration date is assigned to the specified files. Specify the date according to the rules described in Chapter 1 of the VMS DCL Concepts Manual. Absolute date keywords are allowed. If you specify 0 as the date, today's date is used./IDENT=identifier or uic
Modify the file ownership. See also /OWNER_UIC. This allows modification of the file-ownership even if the file is open, eg. INDEXF.SYS. You cannot use both /IDENT and /OWNER_UIC./LOCKED
/NOLOCKED
This qualifier will lock a file for future use. Nothing else can then be done with the file, until it is unlocked (which can also be done with the VMS 'UNLOCK' command./LOG (default)
/NOLOG
Controls whether the SET command displays the file specification of each file after the modification is made./MAXREC=record
Sets a new value for the maximum record number in the file header./ORGANIZATION=keyword
The following keywords are used as parameters for the ORGANIZATION qualifier: DIRECT, INDEXED, RELATIVE and SEQUENTIAL. This will allow you to modify the file organization type in the file header. Of course this won't change the real organization of the file./OWNER_UIC=uic or identifier
Modify the file ownership to an uic or identifier. See also /IDENT. This allows modification of the file-ownership even if the file is open, eg. INDEXF.SYS. You cannot use both /IDENT and /OWNER_UIC./RECATTRIBUTES=keyword
The following keywords are used as parameters for the RECATTRIBUTES qualifier: NONE, FORTRAN, IMPLIED, PRINT and NOSPAN. This will allow you to modify the file's record attributes in the file header. NONE, FORTRAN, IMPLIED and PRINT are mutually exclusive, but can be used in combination with NOSPAN. When NOSPAN is omitted SPAN is assumed (the default is to allow records to cross block boundaries)./RECSIZE=size
Sets a new value for the record size in the file header./RECTYPE=keyword
The following keywords are used as parameters for the RECTYPE qualifier: FIXED, STREAM, STREAMCR, STREAMLF, UNDEFINED, VARIABLE and VFC. This will allow you to modify the file's record type in the file header./REVISION_DATE=date
/NOREVISION_DATE
Controls whether a revision date is assigned to the specified files. Specify the date according to the rules described in Chapter 1 of the VMS DCL Concepts Manual. Absolute date keywords are allowed. If you specify 0 as the date, today's date is used./RVCOUNT=count
Sets a new value for the revision count in the file header./UPDATE
/NOUPDATE (default)
Normally the file's revision date will be updated after any modification to it. SET however disables this update (otherwise the REVISION date could not be set). Specify this qualifier if you want the revision date to be updated./VFCSIZE=size
Sets a new value for the VFC size in the file header. This value will only be used with the VFC record type.
This chapter describes the UNDELETE command with the related parameters
and qualifiers.
11.1 Introduction
The UNDELETE function is designed to recover deleted files, if possible. UNDELETE operates in a safe mode such that it first checks if the deleted file header and diskblocks are still available. Only in that case will the file be recovered. Otherwise UNDELETE will leave the disk unmodified. UNDELETE has some powerfull options:
The UNDELETE command operates as follows :
If the /LIST qualifier is used, DFU will just list the recoverable files without performing any action on the disk. The disk will not be locked.
It is important to note that during the bitmap and file header processing any error will immediately terminate the recovery process, and unlock the disk. Files which have been recovered up to that point will still be entered in the appropiate directory. As no wrong information has been written back to the disk this should leave the disk in a proper state.
NOTE: The blocks recovered will NOT be subtracted from the Volume's free block count. To get the actual freeblock count a SET VOLUME/REBUILD=FORCE is necessary. Also a complete reMOUNT will reset the freeblock count.
IMPORTANT: DFU takes care to recover only files whose original blocks are free. However these blocks may have been modified in the meantime by another file which also has been deleted. Therefore each recovered file must be checked manually to check its integrity.
Example of a Undelete session :
DFU> undel $1$dua102:/list Recoverable file [TEST]CHANGE_UIC.FOR;2 found Recoverable file [TEST]CHECK_ID.FOR;1 found Recoverable file [TEST]CHKPRDIMG.FOR;1 found Recoverable file [TEST]CHRLEN.FOR;1 found DFU> undel/file=*.for $1$DUA102: %DFU-I-READBMAP, Reading BITMAP.SYS... %DFU-W-LOCKED, Volume now LOCKED for write %DFU-I-UNDEL, Start search on $1$DUA102: Recoverable file [TEST]CHANGE_UIC.FOR;2 found Recover this file? (Y/N) [N] : n Recoverable file [TEST]CHECK_ID.FOR;1 found Recover this file? (Y/N) [N] : y %DFU-S-RECOVER, File succesfully recovered %DFU-I-ADDQUOTA, updating diskquota... Recoverable file [TEST]CHKPRDIMG.FOR;1 found Recover this file? (Y/N) [N] : n Recoverable file [TEST]CHRLEN.FOR;1 found Recover this file? (Y/N) [N] : y %DFU-S-RECOVER, File succesfully recovered %DFU-I-ADDQUOTA, updating diskquota... %DFU-I-UNLOCK, Volume unlocked %DFU-I-ENTER, Entering file(s) in directory... %DFU-S-ENTERED, File CHECK_ID.FOR entered in original directory %DFU-S-ENTERED, File CHRLEN.FOR entered in original directory DFU> EXIT
Normally DFU does not undelete files marked for delete. This version
introduces a new qualifier, /MARKED , which specifically undeletes
files marked for delete. This allows the recovery of files which
are deleted but still open, such as INSTALLed files or even
recovery of the system dump file SYSDUMP.DMP whenever such a file
is deleted.
11.4 UIC and identifier processing
As of this version of DFU the /OWNER and /IDENT qualifier now accepts all valid uic or identifier formats. See chapter 9.5 for details.
Recover one or more deleted files on a device.
UNDELETE device[:]
device
The device on which to undelete one or more files. The device will be write-locked during the undelete process.
/FILE=filename
The file to be recovered. Wildcards may be used. If a matching file is found Undelete will ask a confirmation. If a certain file is confirmed, that file will be recovered if possible, and control will be returned to the DFU> prompt. If the /FILE qualifier is omitted DFU will assume *.*;* ./IDENT=identifier or uic
You can search for files owned by a specific identifier or uic. Another way is the /OWNER_UIC qualifier; you cannot combine these 2 qualifier in one UNDELETE command./LIST(=output-file-name)
Generate a list of recoverable files. No undelete will take place, and the disk will not be locked. The defaultoutput is SYS$OUTPUT./MARKED
Consider only files marked-for-delete. Such files are usuallly still open by some utility, such as INSTALLed files or the system dump file./OWNER_UIC=uic or identifier
This qualifier is used to select files by a uic or identifier . You cannot combine this qualifier with /IDENT./STATISTICS
This qualifier displays the performance statistics: CPU time, Elapsed Time, I/O and PageFaults.
The new SPAWN command creates an interactive subprocess. This allows a quick escape to the DCL level from an interactive DFU session. The subprocess has a default prompt DFU_sub$. In SMG mode the <DO> key also performs a SPAWN command. You must logout explicitly to return to the DFU session.
This chapter describes the VERIFY command with the related parameters
and qualifiers.
13.1 Introduction
The VERIFY command makes an analysis of the disk, scanning for file and disk structure errors. VERIFY performs almost all of the checks normally done by a ANALYZE/DISK command. But VERIFY is several times faster than ANALYZE/DISK, and using less resources.
VERIFY checks and reports the following errors:
The /FIX qualifier can be used to perform some basic repair actions. Unlike ANALYZE/DISK/REPAIR this does not lock the disk! /FIX repairs the following errors:
This version of DFU introduces the new /DIRECTORY_SCAN qualifier. This qualifier directs DFU to scan all directories on the disk. This has some advantages :
Please note that a complete directory scan may take several minutes
to complete.
13.4 Advanced repair actions
The /REBUILD qualifier can be used to perform some more repair actions. This will however lock the disk (like a DCL $SET VOLUME/REBUILD=FORCE command) for a short period of time (usually less than 30 seconds). /REBUILD repairs the following errors :
Note that /REBUILD does NOT change the disks free block count.
On a system (cluster) wide mounted disk there will probably be
concurrent disk activity during the VERIFY command. Therefore VERIFY
may report
some errors which are not really errors. Try running VERIFY 2 or 3
times
to see if the errors are reported again.
To get a really consistent report from VERIFY you can use the /LOCK
qualifier.
This will write-lock the disk during the VERIFY run, so don't use this
qualifier too often. (The /REPAIR qualifier of ANALYZE/DISK also
write-locks the disk). Even if DFU ends ungracefully the DFU exit
handler
will always UNLOCK the disk.
13.6 Error reporting
An example of a typical VERIFY run follows:
DFU> VERIFY mydisk %DFU-I-VERIFY, Verifying MYDISK: %DFU-S-CHKHOME, Home block info verified OK %DFU-I-IFSCAN, Scanning INDEXF.SYS ... %DFU-I-CHKBITMAP, Checking BITMAP.SYS... %DFU-I-CHKLOST, Checking for lost files... %DFU-I-CHKQUOTA, Checking QUOTA.SYS... DFU> VERIFY/REBUILD sys$sysdevice %DFU-W-LOCKED, Volume now write locked %DFU=I-VERIFY, Verifying SYS$SYSDEVICE: %DFU-S-CHKHOME, Home block info verified OK %DFU-W-DELETED, file (620,351,1) RSF_DI_RSF_SERVER0.TMP;3 marked for delete %DFU-W-DELETED, file (6349,173,1) DCLTABLES.EXE;937 marked for delete %DFU-W-DELETED, file (19745,35,1) RSF_DI_RSF_SERVER0.TMP;3 marked for delete %DFU-I-CHKBITMAP, Checking BITMAP.SYS... %DFU-E-ALLOCCLR, blocks LBN 2667141 through 2667143 incorrectly marked allocated %DFU-E-ALLOCCLR, blocks LBN 2667153 through 2667161 incorrectly marked allocated . . %DFU-S-RBDBITMAP, BITMAP.SYS succesfully rebuild %DFU-I-CHKLOST, Checking for lost files... %DFU-I-UNLOCK, Volume unlocked DFU>
VERIFY can report the following errors:
ALLOCCLR, blocks incorrectly marked allocated,Severity ERROR Explanation Blocks were found which are not allocated by a file but set in the BITMAP file. This error is often seen when VERIFY is run and there is concurrent file activity on the disk. Also, if after a system crash the disk is mounted with /NOREBUILD such blocks may exist. ReRun VERIFY with /LOCK to see if the error is still there. User Action Run VERIFY/REBUILD to rebuild the BITMAP file.
ALLOCSET, blocks incorrectly marked free,Severity ERROR Explanation Blocks were found which are allocated by a file but not set in the BITMAP file. This error is often seen when VERIFY is run and there is concurrent file activity on the disk. Also, if after a system crash the disk is mounted with /NOREBUILD such blocks may exist. ReRun VERIFY with /LOCK to see if the error is still there. User Action Run VERIFY/REBUILD to rebuild the BITMAP file.
BADBLOCK, file has suspected bad blocks,Severity ERROR Explanation A file has suspected bad blocks. This is likely to be caused by hardware errors on the disk. User Action Try to copy the file to another location. Also check the Error Log.
BADEXTLNK, link to extension header broken,Severity ERROR Explanation VERIFY tries to follow the extension link of the file and it failed, or the extension header is invalid. User Action Try ANALYZE/DISK/REPAIR. However, this may be an unrepairable error, in which case the file will be corrupted and unreliable.
BADMFDLNK, directory has backlink to 000000.DIR on RVN n,Severity ERROR Explanation A directory has a backlink to a Master file directory other than the one on RVN 1. This is incorrect, but the only way to recover is to reenter the directory manually into the 000000.DIR on RVN 1. User Action Do a SET FILE/ENTER into the 000000.DIR directory on RVN 1, then do a SET FILE/REMOVE from the wrong 000000.DIR.
DELETED, file marked for delete,Severity WARNING Explanation A file was found marked for deletion. Such files usually exists as a result of file being deleted while it was still INSTALLed , or as a result of a system crash. It is not considered as an error. You can try to delete such files by using VERIFY/FIX.
ERRHOME, Home block info not OK,Severity ERROR Explanation The Info contained in the Home Block was not consistent or corrupted. User Action Run ANALYZE/DISK/REPAIR to try to fix the error.
INVBAKFID, file has invalid backlink,Severity ERROR Explanation The files backlink file id is not filled in. This is likely to be a lost file. (Note that once VERIFY reports this error, it will not be reported again during the LOSTFILE check). But is also possible that the file is in a valid directory, but that the Backlink file id is not filled in. User Action Run ANALYZE/DISK/REPAIR. If the file is in a valid directory the backlink will be repaired. Otherwise the file will be moved to the [SYSLOST] directory. You can also use VERIFY/FIX but then the file will unconditionally be moved to [SYSLOST].
LOCKED, file is deaccess locked,Severity WARNING Explanation The file is deaccess locked. This may be a result of a system crash. User Action Try to unlock the file with the DFU SET command, or the DCL UNLOCK command.
LOSTHDR1, file found in nonexistent directory,Severity WARNING Explanation During the lost file check a file was discovered in a nonexistent directory. This error can be caused as follows : set a directory file to NODIRECTORY and delete it. User Action Run VERIFY/FIX to move the file to the [SYSLOST] directory.
LOSTHDR2, file found in directory with bad backlink,Severity WARNING Explanation During the lost file check a file was discovered in a valid directory. However, the directory has an invalid backlink. This error can be caused by doing a SET FILE/REMOVE of a directory file. User Action Run VERIFY/FIX to move the directory to the [SYSLOST] directory. Then move the directory back to the correct location. The files in the directory should be accesible again.
LOSTHDR3, file found in invalid directory,Severity WARNING Explanation During the lost file check a file was discovered in a directory which is not a valid directory. Either the file has a wrong backlink, or the directory file has the directory file attribute not set. User Action Look up the directory and use DFU SET to set the directory bit. If the directory file was OK then run VERIFY/FIX to recover the lost file.
LOSTHDR4, not found in a directory,Severity WARNING Explanation When the /DIRECTORY_SCAN qualifier is used , DFU detects files which have a valid backlink but which are not seen in the directory. This can be repaired with /FIX. User Action Using /FIX will enter these files in the correct directory.
MULTALLOC, blocks multiple allocated,Severity ERROR Explanation A file has blocks allocated which already belong to another file. Note that VERIFY will make a second pass through INDEXF.SYS to report all the files involved. This is a serious error, and may be a result of a disk being mounted on two seperated VAXClusters (or a partitioned VAXCluster). User Action Copy all the files found to another location. Next all the files must be deleted. Run VERIFY/REBUILD to repair the BITMAP. All the afflicted files must be manually inspected to see which files are valid and which are corrupted.
NOBITCLR, Deleted file header marked BUSY,Severity WARNING Explanation A file was deleted. The corresponding bit in the INDEXF bitmap should be cleared but is still set. This is not a serious error. User Action Run VERIFY/REBUILD to fix the error.
NOBITSET, index file bitmap bit not set,Severity WARNING Explanation A valid file was found , but the corresponding index file bitmap bit is clear. This is not a serious error. User Action Run VERIFY/REBUILD to fix the error.
NOOWNER, file has no owner,Severity WARNING Explanation A file was found with UIC [0,0] as the owner. This is not a normal situation. User Action Look up the file and modify the file owner.
QUOTAERR, UIC [x,y] has n blocks used, QUOTA indicates m blocks,Severity WARNING Explanation If a disk has diskquota enabled, VERIFY calculates the blocks used and compares them with the value in the QUOTA.SYS file. Any mismatch is reported. This error is often seen when VERIFY is run, and there is concurrent file activity on the disk. Also, if after a system crash the disk is mounted with /NOREBUILD such Quota mismatches may exist. ReRun VERIFY with /LOCK to see if the error is still there. User Action Run VERIFY/REBUILD to rebuild the QUOTA file. Or run a DISKQUOTA> REBUILD command.
SLFBAKFID, backlink points to itself,Severity WARNING Explanation This error indicates that DFU has found a directory with a backlink pointing to itself. This feature is only allowed for the MFD 000000.DIR. This error will result in ANALYZE/DISK going into a COMputable loop. User Action Run VERIFY/FIX to move the directory to the [SYSLOST] directory. Then remove the directory entry from itself with a SET FILE/REMOVE command. The files in the directory should be accesible again.
VERIFY a device for disk structure errors.
VERIFY device[:]
device
The device to be verified.
/APPEND=filename
This qualifier redirects the output to be appended to an already existing file. If the output file does not exists it will be created. You can use /APPEND or /OUTPUT but not both./DIRECTORY_SCAN
Performs a full directory scan. This may take up some time, but it allows detection of mismatches between the directories and INDEXF.SYS./FIX
/NOFIX (default)
Repair errors on the disk. File marked for delete will be deleted and lost files and directories will be moved to [SYSLOST]./LOCK
/NOLOCK (default)
Locks the disk for file allocation/deletion. This gives a consistent report for the disk, but other users may experience a delay when accessing the disk. The device will be unlocked a the end of the VERIFY command./OUTPUT=filename
This qualifier redirects the output to a file. The output will also go to SYS$OUTPUT. CAUTION: if you use /LOCK in combination with /OUTPUT be carefull to specify an outputfile on ANOTHER disk, or DFU will finish with a severe error./REBUILD
/NOREBUILD (default)
Perform a volume rebuild. Using this qualifier will temporarily lock the disk for other users./STATISTICS
This qualifier displays the performance statistics: CPU time, Elapsed Time, I/O and PageFaults.