DFU Release Notes, Version 3.5 This manual describes new and changed software features, problems and restrictions to software, and changes to documentation for the DFU V3.5 application. Software Version: DFU, Version 3.5 Operating System and Version: OpenVMS x86-64, OpenVMS Integrity, OpenVMS Alpha Buld date: June 3, 2024 __________________________________________________________________ Overview Disk and File Utilities (DFU) is a high performance utility for performing routine maintenance and special purpose operations on disk volumes, files and directories. The functionality and performance offered by DFU is not, or only partly, available through other DCL commands or VMS utilities. DFU supports all types of native local disk sets which comply to the OpenVMS ODS-2 and ODS-5 standard, such as volume sets, stripe sets, shadow sets and RAID sets, or combinations thereof. ii __________________________________________________________________ 1 Functions DFU has the following functions: o DEFRAGMENT : defragment individual files or an entire disk o DELETE : delete files by file-id, and delete directory(trees) fast o DIRECTORY functions : COMPRESS , DUMP or RECOVER directories : search directories for files with multiple versions, alias files, or empty directories o INDEXF : analyze, defragment truncate and extend INDEXF.SYS o REPORT : reports disk fragmentation o REVERSION : Reversions files back to starting at ;1 o SEARCH : rapidly search for files o SET : set file attributes o UNDELETE : recover deleted files o VERIFY : rapidly analyze (and repair) the disk structure __________________________________________________________________ 2 Version 3.5 DFU V3.5 builds upon prior publicly available versions V2.4, V2.6, V2.7, V3.0, V3.1, and V3.2. DFU V3.5 includes enhancements and corrections authored by Software Concepts International, LLC (SCI). DFU V3.2 is available at https://www.digiater.nl/dfu.html. Some prior versions may be available on various OpenVMS 1 Freeware CD distributions. Other available versions may exist. ___________________________ 2.1 Supported Environments DFU V3.5 requires: o OpenVMS x86-64 V9.2-2 and later o OpenVMS Integrity V8.2 and later o OpenVMS Alpha V7.3-2 and later ___________________________ 2.2 Fixes, Enhancements, New features A number of bug fixes, enhancements, and new features are present in DFU V3.5. A subset of changes since V3.2 include: o Updated kitting and documentation o Porting to x86 native builds o Add SEARCH /DENSE o SEARCH /SORT enhancements o DIRECTORY command able to look for directories with at least n files o Permit blank lines and comments in an input file for DEFRAG command o Add REVERSION command o Demote DFU-E-INVBAKFID to -W- o Add /ACTION=COMPRESS to SEARCH ... /CHAR=DIRECTORY o More 2TB volume support - deal with lengths and blocks as unsigned 2 o Reduce default IO size to 256 to avoid window turns o Add DEFRAGEMENT /DISK o Reduce and cleanup progress output o Add /ACTION=DELETE to SEARCH o Do not try to reference ATR$C_ACCDATE or ATR$C_ ATTDATE for pre-ODS5 supported builds o A deleted file header has (!fh2->fh2$w_fid_num && !fh2$b_fid_nmx); detect this. A sequence number of zero is valid and does not mean that there is a problem with the header or that the file is deleted. This change addresses a "false positive" of a deleted header when the sequence number was zero. o Display % free as a floating point value for REPORT command o Correct checking of link count for unused headers o Add /UNITS= to SEARCH o Promote all float to double o Before reporting that a file is not in a directory, double-check that it still exists and can not be found via a directory scan o Before reporting a link count mismatch, check that the file header isn't deleted. o Detect and display information about free space drift between $getdvi and bitmap space o Enhance VERIFY/DIRECTORY_SCAN to include [FULL|STRUCTURE_ONLY] with default STRUCTURE_ONLY o Add /SPECIFICATION_MATCH to SEARCH o Add extra check for LOSTHDR5 similar to LOSTHDR1 message o Correct file name returned for largest directory symbol 3 o Add [NO]RVNFID=x to search for files with/without matching RVN o Display back BAKFID with DFU-E-INVBAKFID o Add SET /MODIFICATION_DATE o Add /DISPLAY_FIRST to SEARCH o Allow SEARCH /SORT=ALLOCATION|FRAGMENTS for /FRAG o Use of FIB$V_NOLOCK set and FIB$V_WRITE fails on V92. Attempting to access a file with both FIB$V_ NOLOCK set and FIB$V_WRITE set will result in SYSTEM-F-BADPARAM being returned. Avoid this by removing NOLOCK in those situations. o Display timestamps in various places o Add more status checking; correct uninitialized variables, code cleanup o The REPORT command now creates a number of DCL symbols corresponding to the output from the report command. o The REPORT command now has a /NOOUT qualifier to suppress output o Change default behavior to NOSMG. New logical name DFU$SMG. If *defined* SMG is enabled; otherwise SMG is not enabled. If both DFU$NOSMG and DFU$SMG are defined, DFU$NOSMG takes precedence and SMG is not enabled. o Add /SORT qualifier for SEARCH /FRAGMENT. Sorts the results of DFU to the output file specified in /OUTPUT. By default, file names are sorted. When /SORT is used with /FRAGMENT, output is sorted by file allocation size smallest to largest. /SORT cannot be used with /FULL or /SUMMARY. o add largest found directory file to report command o Add /APPEND qualifier to DIRECTORY command. o Add /UNTIL qualifier for DEFRAG command 4 o Add /return_limit qualifier to SEARCH o Fixed bug in SEARCH with deep directories and corrupt returned file specs. o Fixed bug in VERIFY regarding allocated vs free blocks. o Fixed incorrect bitmap set/clear issues o Avoid spit I/O when accessing the index file o DIRECTORY /COMPRESS and /TRUNCATE updated to zero empty space __________________________________________________________________ 3 Restrictions o SCI strongly recommends that systems are updated with latest/current OpenVMS patches and updates. o Patch kit VMS842L1I_F11X-V0200 (or subsequent version/platform specific variants) is required when using DIRECTORY /TRUNCATE command to avoid potential XQPERR bugchecks or directory corruption. o DFU cannot handle volume sets with more than 32 disks. o DFU handles files names as case-blind. There is no support for case-sensitive filenames. o Many DFU commands require READ and/or WRITE access to INDEXF.SYS. It is therefore recommended to run DFU commands with BYPASS privilege enabled. o INDEXF /DEFRAG, /TRUNCATE and /EXTEND commands can only be performed on offline (dismounted) disks and thus cannot be executed on the system or quorum disk. These commands may require VOLPRO privilege. o The command DELETE/DIR/TREE requires SYSPRV privilege on a ODS5 disk with hardlinks enabled. 5 o DFU supports extended (ISO-Latin-1) file naming conventions for ODS5. To work properly, however, the following process setting may need to be performed prior to using DFU: SET PROCESS/PARSE=EXTENDED. Failing to do so may result in errors, such as '%CLI-W-PARMDEL, invalid parameter delimiter'. o Operations on NFS or DFS volumes is not supported. Minimum process quotas recommended for DFU use: o WSQUOTA : 9999 o WSEXTENT : 99999 o DIOLM : 99 o ASTLM : 99 o FILLM : 99 o BYTLM : 99999 o PGFLQUOTA : 999999 There is likely no requirement to adjust parameters unless DFU reports errors associated with EXCEEDED QUOTA or INSUFFICIENT WORKING SET LIMITS. __________________________________________________________________ 4 Authors The original authors and contributors of DFU include: o T. Dorland o W. Saarloos o J. van der Burg o N. Lastovica 6 __________________________________________________________________ 5 Documentation DFU includes release notes and help text in several formats in SYS$HELP including: o DFU035.RELEASE_NOTES o DFU035_RELEASE_NOTES.HTML o DFU035_RELEASE_NOTES.PDF o DFUHLP.HTML o DFUHLP.PDF o DFUHLP.TXT Help is also available within DFU via the HELP command. __________________________________________________________________ 6 IMPORTANT: PLEASE READ CAREFULLY BEFORE INSTALLING OR USING DFU By downloading, installing, or using DFU, you agree to be bound by the following terms and conditions. If you do not agree with these terms, do not install or use the software. o DFU is freeware. It may be freely downloaded and used. o DFU is provided "as is" without warranties, either expressed or implied. o DFU is not a Commercial "Off-The-Shelf" software product. o DFU remains the intellectual property of Software Concepts International, LLC and the predecessor authors of this software. o You may not redistribute or supply this version DFU to any third party without prior written consent from Software Concepts International, LLC. 7 o The source code is not available, and support is limited. o In case of problems, please report them to DFU@SCIINC.COM and they may get corrected. o Software Concepts International, LLC. is not responsible for any malfunction or data loss caused by this software or coexistence or interoperability with other software or hardware. 8