home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume5 / fsanalyze4.1 / part01 / Changes next >
Text File  |  1989-02-03  |  5KB  |  95 lines

  1. Revision History:
  2.  
  3.    Version 2.0 was a major rewrite of fsanalyze that added the following new
  4.    features:
  5.        - The ability to analyze individual files
  6.        - Display of the 10 most fragmented files in a file system
  7.        - Enhanced error checking on the file system argument
  8.  
  9.    Version 2.01 contains a minor modification in which fsanalyze executes
  10.    /etc/fsstat to determine the health of the file system before analyzing
  11.    it.
  12.  
  13.    Version 2.02 contains a minor modification to print out a warning message
  14.    if the file system being analyzed is currently mounted.
  15.  
  16.    Version 2.03 contains a fix for a minor bug in which the size of the
  17.    volume data block size would be printed out incorrectly for large
  18.    file systems.
  19.  
  20.    Version 2.04 incorporates the library function l3tol to access inode
  21.    block numbers.  This is the first version that was posted to the net
  22.    a few months back.
  23.  
  24.    Version 3.00 contains major revisions for porting to Xenix, System
  25.    V Release 3, and the BSD fast file system, as well as fixing many
  26.    bugs and improprieties.   Specific changes include:
  27.     - Sparse files are now handled correctly.  Thanks to John Limpert
  28.       (johnl@gronk.uucp) for this one!
  29.     - A bug in the way indirect blocks were factored into the
  30.       fragmentation analysis was corrected.
  31.     - Fragmentation has been re-defined as cylinder-to-cylinder seeks.
  32.       Suboptimum placement within a cylinder is handled separately as
  33.       "rotational delay".  This resulted from the discovery by a number
  34.       of people (thanks esp. to Steve Paddock and Dave Olson
  35.       (olson@altos86.uucp)) that block interleaving wasn't handled
  36.       correctly.  After doing some experimenting with the System V mkfs,
  37.       I came to the conclusion that its algorithm for optimal record
  38.       placement is rather crude.  For example, it does not take number
  39.       of heads into account.  So rather than enforce an algorithm that I
  40.       couldn't duplicate very well anyway, I split it out as a separate
  41.       statistic.  This decision was confirmed when I ported fsanalyze to
  42.       BSD, since the fast file system also makes the distinction between
  43.       cylinder seeks and rotation delays.
  44.         - new command-line arguments have been added to override file system
  45.           block size, interleave factor, and number of sectors per cylinder.
  46.           Normally, these numbers are derived from information in the super-
  47.           block.  However, not all file systems may store the information
  48.           in a way expected by fsanalyze.  Use these flags to override.
  49.           Although all of the flags are supported for the BSD port, I doubt
  50.           if they are useful.
  51.     - Some function names and variables have been renamed to
  52.       ensure uniqueness within 7 characters.  Thanks to John
  53.       Limpert for catching this.
  54.     - The IS_SPECIAL macro has been rewritten. Thanks to Larry
  55.       Cipriani and Dave Olson for catching the bugs here.
  56.     - A number of new macros have been defined to make porting to
  57.       BSD file systems easier.  These are described in the new file
  58.       fsconfig.h.
  59.         - The relative cost of fragmentation is now reported as the average
  60.           distance of each seek (in number of cylinders).  This is reported
  61.           as an average for the entire file system, as well as for each file.
  62.         - Some files must span more than one cylinder simply because they are
  63.           too large.  Single-cylinder seeks due to size are ignored in the
  64.           fragmentation calculation.
  65.         - A makefile has been created to enhance portability.  The
  66.           makefile contains instructions for configuration of fsanalyze.
  67.  
  68.    Release 3.01 contains a few simple changes to enhance portability to
  69.    XENIX/286, and adds the NUMOFFEND configuration parameter, which
  70.    determines how many of the "top offender" (most fragmented) files
  71.    are reported.
  72.  
  73.    Release 3.02 changes the rotation delay algorithm slightly to more closely
  74.    reflect the BSD placement algorigthm.  I still don't trust the results,
  75.    since they are non-intuitive, and always too high for what I would expect
  76.    from BSD.  The other major change is the addition of a "wasted space"
  77.    metric which reports unuseable space due to partial use of the last block
  78.    of each file.
  79.  
  80.    Release 3.03 reports the total number of blocks used for indirection (and
  81.    thus unavailable for data).  I also made more changes to the rotation
  82.    delay algorithm, providing a formula for BSD Opt_interleave that makes
  83.    more sense than previous versions.  The results still seem a bit too
  84.    high, but they're more reasonable than before.  This version also
  85.    includes a complete code re-organization which makes it easier to pack
  86.    into shell archives, and some other general cleanup in preparation for
  87.    posting to Usenet.
  88.  
  89.    Release 3.04 contains minor changes to avoid namespace conflicts in the
  90.    FS_TYPE and OS_TYPE macros.  NFS support is also disassociated with the
  91.    OS_TYPE.
  92.  
  93.    Release 4.1 contains no major changes from 3.04, but resulted from
  94.    placing the code under SCCS.
  95.