home *** CD-ROM | disk | FTP | other *** search
/ YPA: Your Privacy Assured / YPA.ISO / other_goodies / utilities / dfrag312.lha / Dfrags.Doc < prev    next >
Text File  |  1994-06-29  |  16KB  |  379 lines

  1.  
  2.           Disk Fragmentation Report Version 3.12
  3.  
  4.                  ⌐1990-92 Custom Services
  5.  
  6. General:
  7.  
  8.   This utility will read all the disk devices on your system and analyze the
  9. BitMap for each partition.  If the options are selected
  10. It will also analyze the file system on each partition.  The result for
  11. the analysis will be the number of fragments on the disk(BitMap), and
  12. file system(if selected).  Several options exist to control how much is
  13. reported.  This is a CLI and Workbench utility.
  14.  
  15.   This utility is released as shareware.  If you
  16. find it useful, please send the basic registration fee to Custom Services.
  17. The Options for registration are:
  18.  
  19.  Amount |   Fee    |   Service
  20.  -------+----------+-------------------------------------------------------
  21.    $5   |  Basic   | Basic Registration fee, everyone must send this!
  22.  -------+----------+------------------------------------------------------
  23.    $7   |  Updates | Update fee for future version if I supply disk
  24.  -------+----------+------------------------------------------------------
  25.    $5   |  Updates | Update fee for future version if you send a disk
  26.  -------+----------+------------------------------------------------------
  27.  Send $5 for the basic registration plus $7 for updates will get you a
  28. copy of the next version of this program.  I will supply the disk.  Sending
  29. $10  will get you notification of updates.  I include all my shareware
  30. utilities on the disk.
  31.  
  32.  Please send all registration and update fees of your choice to:
  33.  
  34.     Custom Services
  35.     P. O. Box 254
  36.     Moorestown, NJ 08057
  37.  
  38. Compatibility:
  39.  
  40.   This program is compatible with 1.3 and 2.xx versions of the operating
  41. system.  It has been tested with both operating systems.  It should work
  42. with any disk drive(either hard drive or floppy).
  43.  
  44.   This program will not work on a CD-ROM drive, it is not compatible with
  45. the CD-ROM filesystem or the disk format.  It may someday become CD-ROM
  46. smart, but for now it hangs.
  47.  
  48. Command from cli:
  49.  
  50.             DFRAGS
  51.  
  52. From Workbench, just click on the icon.
  53.  
  54.  
  55. Validation:
  56.  
  57.   DFRAGS will validate ever part of the file system.  It checks any and
  58. all values.  Error messages are issued for any problems found.  Some errors
  59. are considered severe enough that processing stops when they occur.  Others
  60. are considered errors, but not bad enough to stop the processing.
  61.  
  62.   Disk Integrety:
  63.  
  64.     o Blocks are only used once(linkage errors).
  65.     o Block zero must be either FFS or SFS.
  66.     o read errors.
  67.     o illegal block numbers(know as Key Invalid).
  68.  
  69.   Root Directory Checks:
  70.  
  71.     o Spare words must be zero
  72.     o OwnKey must be zero
  73.     o Sequence number must be zero
  74.     o Hash table size must be 72
  75.     o BitMap Valid flag must be valid, a -1.
  76.     o All words of the sector must add up to zero(zero sum checksum)
  77.     o read errors
  78.  
  79.   Directory checks:
  80.  
  81.     o Spare words must be zero
  82.     o OwnKey must be equal to block number
  83.     o Parent block number must be Parent's block number
  84.     o Hask index of this directory must be same as hashed name
  85.     o All words of the sector must add up to zero(zero sum checksum)
  86.     o read errors
  87.  
  88.   File Header checks :
  89.  
  90.     o Hask index of this directory must be same as hashed name
  91.     o Parent block number must be Parent's block number
  92.     o Spare words must be zero
  93.     o OwnKey must be equal to block number
  94.     o All words of the sector must add up to zero(zero sum checksum)
  95.     o read errors
  96.  
  97.   Link Checks:
  98.  
  99.     o Linked files and directories are checked the same as regular
  100.       files and directories except that no data is read for files and
  101.       directories are not traversed.  All other checks occurs as
  102.       above.
  103.  
  104.   Bitmap Checks:
  105.  
  106.     o All words of the sector must add up to zero(zero sum checksum)
  107.     o read errors
  108.     o The BitMap is rebuilt whenever you use the File fragmentation
  109.       options.  This will cause sectors to be checked to ensure that
  110.       no sector is incorrectly used more than once.
  111.  
  112. Options:
  113.  
  114.   By default all the options are off.  You select an option by clicking on
  115.   the gadget for it.  There are the following command options:
  116.  
  117.   Verbose option.  Each file accessed will have one or more lines of
  118.                    output.  This will occur even if the file does not
  119.                    have fragments.
  120.  
  121.   File option      Check file fragmentation and structure.  This option
  122.                    will cause the file system to be traversed.  Each file
  123.                    is checked for contiguous disk blocks and file system
  124.                    errors.  I suggest this option always be used.
  125.  
  126.   1.3 optiom       Assume the 1.3 file system.  There is a difference in
  127.                    the way that 1.3 and earlier file systems allocate files
  128.                    versus the 2.xx file system.
  129.  
  130.                    The 1.3 file system will allocate the first block of a
  131.                    file in one area and the rest in another.  This option
  132.                    will remove one fragment from the file total.  Under 2.xx
  133.                    the file system is a bit better, attempting to allocate
  134.                    a file in one contiguous area.
  135.  
  136.   Pause option     If you leave the program running and unattended, you may
  137.                    lose information as it scrolls off the screen.  This option
  138.                    will cause the program to pause at the end of a page of data
  139.                    until you hit a key on the keyboard.
  140.  
  141.   Debug option     If you have a problem, you can use this option to see the
  142.                    actual file system structures.  Each non-data block is
  143.                    identified and printed in a formatted manner.
  144.  
  145.   I recommend the command options for full file checking.  This will completely
  146.   validate the bitmap and check the file system structure.
  147.  
  148. Error Messages:
  149.  
  150.  
  151.   No Memory available for disk buffers
  152.  
  153.      A memory allocation failed while trying to get buffers for the
  154.      disk.  You will have to shutdown some of you other tasks and try
  155.      again.
  156.  
  157.   Unable to get a Port from CreatePort
  158.   Unable to get pointer from CreateExtIO
  159.   Unable to Open device
  160.  
  161.      These are messages that indicate that you have a very messed up
  162.      system!  Your device tables may be corrupt.  A re-boot is
  163.      in order!
  164.  
  165.   Error Reading Block Zero, error = nnn
  166.  
  167.      A read was done on the BootBlock of the current device.  It failed
  168.      with the indicated error code.  This could indicate a bad spot on the
  169.      device or even a possible viral infection in your system.
  170.  
  171.   Boot Block for device/partition is invalid or non-dos
  172.  
  173.      The data in the first four bytes of the Boot Block was not an
  174.      indicator for either type of file system(DOS^@(SFS) or DOS^A(FFS)).
  175.      This disk is either corrupt, damaged, contains a special boot
  176.      block, or it is a viral infection.
  177.  
  178.   disk read error on Root block
  179.  
  180.      The Root block was either not found or generated a disk error when
  181.      read from the disk.
  182.  
  183.   Problem: Key value too large limit 0 to nnnnn, got mmmm for file/dir
  184.  
  185.      This is a common corruption problem.  A key(relative block number)
  186.      is out of range for a file or directory.  You cannot delete the file
  187.      or directory in some cases because the block number is in a critical
  188.      location.  This error will also generate a "false" disk read error
  189.      since the read could not occur.  You may have lost linkages to data
  190.      of files with this error.
  191.  
  192.   Root Block may be corrupt.... skipping
  193.  
  194.      The Root Block failed several sanity checks.  It may work ok, but is
  195.      corrupt.  A backup, format and restore are probably indicated for this
  196.      partition or floppy.
  197.  
  198.   Bit Map shows as invalid(nnn)
  199.  
  200.      The Root Block indicator says that the current bit map may be in the
  201.      process of being updated.  nnn is the current value which should be
  202.      either 0(if invalid), or -1(if valid).  If other values show up, your
  203.      root block is corrupt.
  204.  
  205.   CheckSum Error in Root Block, may be corrupt... skipping
  206.  
  207.      The checksum for the Root block of the current device is non-zero.
  208.      This indicates a corrupt Root directory.
  209.  
  210.   I/O error reading BitMap block:nnnn
  211.  
  212.      An I/O error occurred during the bit map processing.  The error will
  213.      prevent an accurate count of the fragmentation.
  214.  
  215.   BitMap Checksum error: Block nnn may be invalid or corrupt
  216.  
  217.      The checksum of a BitMap block is invalid, the BitMap may be corrupt.
  218.  
  219.   Disk(u/f) vs files(u/f) Bitmap do not match for block nnn
  220.  
  221.      After all the files were processed, a check is made against the
  222.      actual computed bitmap created from the files and the disk bitmap.
  223.      u/f is either "free" or "used" to indicate which thought the sector
  224.      was free.
  225.  
  226.      Disk(Used) vs files(Free) Bitmap do not match for block nnn
  227.  
  228.      This error indicates that the files did not use a sector that the
  229.      bitmap indicated was in use.  This may be ok if you have used a tool
  230.      to mark sectors as bad by flagging the sectors as used.
  231.  
  232.      Disk(Free) vs files(Used) Bitmap do not match for block nnn
  233.  
  234.      This error indicates that the Bitmap does not have a sector marked
  235.      as used when one of your files thinks it is used.  This is a bad
  236.      situations in that later you may try to use the sector again for
  237.      a new file.  A backup/format/restore may be indicated here.
  238.  
  239.   Used_Map system error: nnn mmm
  240.   Get_Map system error:nnn mmm
  241.  
  242.      This usually means an illegal key value.  One of your files has a
  243.      key value outside of the partition.  This is probably an indicator
  244.      of a corrupted disk.  It would be a good idea to use the -N option
  245.      to list the file/directory names while running to see what file or
  246.      directory has the problem.
  247.  
  248.    Key already set: nnnn for file/dir
  249.  
  250.      This is an indicator that you have some kind of linkage problem.
  251.      Two files or directories have the same sector in use.  One of the
  252.      files is wrong, not nessecarily the one printed!  The name displayed
  253.      is the the second file found using the sector indicated.
  254.  
  255.    No Memory available for file/dir buffers at <name>
  256.  
  257.      An Allocation of memory failed due to not enough memory.  Shutting down
  258.      some other tasks will increase the memory available.
  259.  
  260.   I/O error reading Dir/File block: nnnnn from <name>
  261.  
  262.      A read error occurred while reading directory or file header
  263.      information.
  264.  
  265.   Dir: <name> parent hash index (nn) not same as file hash index(nn)
  266.   File:<name> parent hash index (nn) not same as file hash index(nn)
  267.  
  268.      The directory or file name hashes to a value that does not match the
  269.      location in the parent hash table.  This probably indicates a corrupt
  270.      parent directory or the directory/file name is corrupted.
  271.  
  272.   Dir: <name> parent (nnnn) not parent(mmmm) block
  273.   File:<name> parent (nnnn) not parent(mmmm) block
  274.  
  275.      The block number of the parent directory(mmmm) does not match the
  276.      parent field in the directory or file header data.  This indicates a
  277.      possible linkage problem or a corrupt disk.
  278.  
  279.   Dir: <name> OwnKey (nnnn) not block number(mmmm)
  280.   File:<name> OwnKey (nnnn) not block number(mmmm)
  281.  
  282.      The block number of the current file or directory does not match the
  283.      block number in the header data.  This indicates a possible linkage
  284.      problem or corrupt disk.
  285.  
  286.   Dir: <name> may be corrupt(spare words not zero)
  287.   Dir: <name> may be corrupt(checksum not zero)
  288.   File:<name> may be corrupt(spare words not zero)
  289.   File:<name> may be corrupt(checksum not zero)
  290.  
  291.      The file header or directory block has failed one of the sanity checks
  292.      or the checksum is non-zero.   This could indicate a corrupt disk.
  293.  
  294.   File:<name> Extension(nnnn) not secondary Hdr
  295.  
  296.      The current file is large enough to need a secondary header.  The
  297.      sector pointed to in the file header is not a secondary header.  The
  298.      file is corrupted.
  299.  
  300.   Invalid block type in key nnnn for directory <name>
  301.  
  302.      The directory has an entry for a sub-directory or file that is not
  303.      either.  This is an indication of a corrupt disk.
  304.  
  305.   I/O error reading File data in: <name> block:nnnn
  306.  
  307.      While verifing the file data blocks an I/O error occured.  The
  308.      file is damaged and cannot be read.
  309.  
  310. ShareWare:
  311.   This program, the documentation and all files in the archive are
  312. copyrighted by Custom Services ⌐1990-94.  All rights are reserved.  No
  313. commercial use or financial gain may be made using this product without
  314. the consent of Custom Services.  This archive may be redistributed in
  315. any public domain collection or on any BBS provided all files are left
  316. intact.  Support Shareware.  Amazing Computing has permission to distribute
  317. this archive.
  318.  
  319. Future:
  320.  
  321.   There are no additional checks that can be made.  This program already
  322.   validates the file system to the fullest extent possible.  Some additions
  323.   that can be made are:
  324.  
  325.     -- Possible code optimizations,
  326.     -- Bug fixes if anyone reports any.
  327.     -- Support for the Intl file system .
  328.     -- Support for the disk caching file system.
  329.  
  330.   Only a few people have registered this program even though on BIX over
  331.   500 people had downloaded it!  I am not in this for the money, and would
  332.   like to see just a note indicating what you think of this.
  333.  
  334. History:
  335.   1.00  -- initial version.
  336.   1.01  -- fixed several small bugs
  337.   1.06  -- re-created all the 1.01 bug fixes to a pre 1.00 version due to
  338.            HD crash/source loss.  Added several new features.
  339.            fixed a divide by zero error if no fragments on a device!
  340.   1.07  -- fixed a bug in the BitMap analysis.  Fixed a debug output that
  341.            was not printing the whole bitmap(last word missing).
  342.   2.00  -- Added many sanity checks.  Improved the BitMap fragmentation
  343.            removing several minor bugs.  Fixed a bug that prevented the
  344.            processing of larger disk devices/partitions(53 meg limit).
  345.            Added error documentation.  Added file data validation option.
  346.            Documentation updated, error information and new options added.
  347.   2.02  -- Corrected a couple of debug printouts to show the correct
  348.            information and updated the documentation.
  349.   2.06  -- Added additional validation checks and fixed a file bug where
  350.            a hash conflict caused a file chain to not be looked at.  Added
  351.            support for 2.xx file and directory links.  Added a formatted
  352.            output of root, file, and directory structures under debug or
  353.            if an error is found.
  354.   2.07  -- Minor bug fixes and clean up of debug code.
  355.   2.08  -- fixed resource allocation/return on ^C exit.  The floppy drive
  356.            motor is shut off if you quit.  Previous versions did not return
  357.            the buffers to the free memory pool.
  358.   2.10  -- Added full BitMap checking.  Corrected the resource allocation
  359.            code where it lost memory for buffers currently in use.
  360.            Updated the docs with the new error messages.  Added the problem
  361.            solving option "-N" to display the names of files as they are
  362.            processed(similar to "-I" except prints even if the fragments is
  363.            zero).  Combined the regular file and link file processing.
  364.   2.12  -- Added checks for block numbers out of range.  Fixed a minor bug
  365.            in the BitMap checking where a false error was generated.  Added
  366.            a change in the size calculation to generate total blocks, not
  367.            to have K or M displayed.
  368.  
  369.   2.13 - 3.03 Internal debug versions only released to testers.
  370.  
  371.   3.04  -- Released version that works from the Workbench or CLI in the same
  372.            manner.  Re-adjusted much of the output.  Removed alot of the
  373.            unformatted output from the debug option.  Removed the old cli
  374.            interface and replaced the options with gadgets.
  375.  
  376.   3.05  -- changed to register parameters for a smaller, faster executable.
  377.            added an icon for use with the workbench(forgot it in 3.04).
  378.   3.12  -- minor bug fixes, adjustments for the interface.
  379.