DFU Release Notes, Version 3.5
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.
1 Functions
DFU has the following functions:
- DEFRAGMENT : defragment individual files or an entire disk
- DELETE : delete files by file-id, and delete directory(trees) fast
- DIRECTORY functions : COMPRESS , DUMP or RECOVER directories :
search directories for files with multiple versions, alias files, or
empty directories
- INDEXF : analyze, defragment truncate and extend INDEXF.SYS
- REPORT : reports disk fragmentation
- REVERSION : Reversions files back to starting at ;1
- SEARCH : rapidly search for files
- SET : set file attributes
- UNDELETE : recover deleted files
- 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 Freeware CD distributions.
Other available versions may exist.
2.1 Supported Environments
DFU V3.5 requires:
- OpenVMS x86-64 V9.2-2 and later
- OpenVMS Integrity V8.2 and later
- 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:
- Updated kitting and documentation
- Porting to x86 native builds
- Add SEARCH /DENSE
- SEARCH /SORT enhancements
- DIRECTORY command able to look for directories with at least n files
- Permit blank lines and comments in an input file for DEFRAG command
- Add REVERSION command
- Demote DFU-E-INVBAKFID to -W-
- Add /ACTION=COMPRESS to SEARCH ... /CHAR=DIRECTORY
- More 2TB volume support - deal with lengths and blocks as unsigned
- Reduce default IO size to 256 to avoid window turns
- Add DEFRAGEMENT /DISK
- Reduce and cleanup progress output
- Add /ACTION=DELETE to SEARCH
- Do not try to reference ATR$C_ACCDATE or ATR$C_ATTDATE for pre-ODS5
supported builds
- 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.
- Display % free as a floating point value for REPORT command
- Correct checking of link count for unused headers
- Add /UNITS= to SEARCH
- Promote all float to double
- 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
- Before reporting a link count mismatch, check that the file header
isn't deleted.
- Detect and display information about free space drift between
$getdvi and bitmap space
- Enhance VERIFY/DIRECTORY_SCAN to include [FULL|STRUCTURE_ONLY] with
default STRUCTURE_ONLY
- Add /SPECIFICATION_MATCH to SEARCH
- Add extra check for LOSTHDR5 similar to LOSTHDR1 message
- Correct file name returned for largest directory symbol
- Add [NO]RVNFID=x to search for files with/without matching RVN
- Display back BAKFID with DFU-E-INVBAKFID
- Add SET /MODIFICATION_DATE
- Add /DISPLAY_FIRST to SEARCH
- Allow SEARCH /SORT=ALLOCATION|FRAGMENTS for /FRAG
- 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.
- Display timestamps in various places
- Add more status checking; correct uninitialized variables, code
cleanup
- The REPORT command now creates a number of DCL symbols
corresponding to the output from the report command.
- The REPORT command now has a /NOOUT qualifier to suppress output
- 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.
- 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.
- add largest found directory file to report command
- Add /APPEND qualifier to DIRECTORY command.
- Add /UNTIL qualifier for DEFRAG command
- Add /return_limit qualifier to SEARCH
- Fixed bug in SEARCH with deep directories and corrupt returned file
specs.
- Fixed bug in VERIFY regarding allocated vs free blocks.
- Fixed incorrect bitmap set/clear issues
- Avoid spit I/O when accessing the index file
- DIRECTORY /COMPRESS and /TRUNCATE updated to zero empty space
3 Restrictions
- SCI strongly recommends that systems are updated with
latest/current OpenVMS patches and updates.
- 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.
- DFU cannot handle volume sets with more than 32 disks.
- DFU handles files names as case-blind. There is no support for
case-sensitive filenames.
- Many DFU commands require READ and/or WRITE access to INDEXF.SYS.
It is therefore recommended to run DFU commands with BYPASS privilege
enabled.
- 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.
- The command DELETE/DIR/TREE requires SYSPRV privilege on a ODS5
disk with hardlinks enabled.
- 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'.
- Operations on NFS or DFS volumes is not supported.
Minimum process quotas recommended for DFU use:
- WSQUOTA : 9999
- WSEXTENT : 99999
- DIOLM : 99
- ASTLM : 99
- FILLM : 99
- BYTLM : 99999
- 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:
- T. Dorland
- W. Saarloos
- J. van der Burg
- N. Lastovica
5 Documentation
DFU includes release notes and help text in several formats in SYS$HELP
including:
- DFU035.RELEASE_NOTES
- DFU035_RELEASE_NOTES.HTML
- DFU035_RELEASE_NOTES.PDF
- DFUHLP.HTML
- DFUHLP.PDF
- 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.
- DFU is freeware. It may be freely downloaded and used.
- DFU is provided "as is" without warranties, either expressed or
implied.
- DFU is not a Commercial "Off-The-Shelf" software product.
- DFU remains the intellectual property of Software Concepts
International, LLC and the predecessor authors of this software.
- You may not redistribute or supply this version DFU to any third
party without prior written consent from Software Concepts
International, LLC.
- The source code is not available, and support is limited.
- In case of problems, please report them to DFU@SCIINC.COM and they
may get corrected.
- 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.