
PROBLEM: (88821, 88908, 88284, 83918,
          89778) (PATCH ID: OSF520-065)
********
This patch fixes several problems with the fixdmn utility where under extreme 
cases, it was possible for fixfdmn to core dump or to terminate with out fixing 
the domain.  These problems included the following:

    - When the on-disk field xCnt was out of bounds, it could cause the 
      program to core dump.
    - When a mcell record was larger than the mcell containing it, it could
      corrupt the following mcell(s).
    - When the Deferred Delete List (DDL) became corrupted it was possible
      fixfdmn to exit with out correcting the corruption.
    - Fixfdmn could cause corruptions if it detected the new on-disk
      structures involved with AdvFS log isolation.  
    - Fixfdmn could cause corruptions if it detected the new smart store
      structures.


PROBLEM: (90798) (PATCH ID: OSF520-260)
********
Fixfdmn exits prematurely with the message "Can't allocate 0 bytes for group
use array" and then instructs user on how to make more memory available, 
although more memory isn't needed. This occurs when then number of BMT pages
containing extents for a file exceeds the number of pages in the fixfdmn cache.
A pointer is not reset properly so when the first page read is flushed from 
cache and then reread later, the pointer to it still points to the previous
memory address. This has caused fixfdmn to terminate collecting the extents for
the file due to seeing a metadata link of zero which makes it appear to have no 
extents and then try to allocate memory for arrays of size 0. This problem
could also cause fixfdmn to follow incorrect metadata links and possibly 
corrupt data, but we have only seen the case where the link pointed to was set 
to zero.


PROBLEM: (91648) (PATCH ID: OSF520-370)
********
Fixfdmn currently needs to clear all 512 pages of the transaction log,
even on an uncorrupted domain.  Now we only need to modify one page of
the transaction log.


PROBLEM: (90954) (PATCH ID: OSF520-397)
********
Removed code that would change the filesize to be the size of the file
extents if the size described by the extents was greater than the filesize
rounded up to a page.


PROBLEM: (92359, 92403) (PATCH ID: OSF520-391)
********
PROBLEM: Fixfdmn aborts while trying to fix problems in the DDL.
PROBLEM: Fixfdmn incorrectly changed domains which had been previosuly mounted 
on a V5.1B system.


PROBLEM: (92284) (PATCH ID: OSF520-380)
********
Fixfdmn could core dump while checking the root tag file or the tag file in
a very rare corruption case.


PROBLEM: (ZPO150044) (PATCH ID: OSF520-709)
********
Corrections to fixfdmn to:
- eliminate coredumps
- avoid creating data inconsistencies
- avoid improperly diagnosing property lists as corrupt
- provide better messaging
- perform better consistency checking in
  directories, tag and mcell freelists.


PROBLEM: (92230) (PATCH ID: OSF520-519)
********
If we find a full or previously seen frag group, then the free list is
truncated.  If any free frag groups happened to be further down the list,
they will be found later and added back to the list.  This processing is
most relevent for very large domains.


PROBLEM: (94841, 95664, 95665) (PATCH ID: OSF520-1040)
********
This patch fixes three very rare cases where fixfdmn could either fail to
correct a domain or incorrectly make changes to a valid domain.


PROBLEM: (95465) (PATCH ID: OSF520-990)
********
This patch fixes a problem were after running fixfdmn the domain is still 
not mountable, because the count of mcells are incorrect in the RBMT/BMT0.
This patch also fixes a problem with fixfdmn were in a rare case it was 
incorrectly fixing mcell counts on a valid ODSv3 AdvFS domain.  In this case 
the domain is still valid, but metadata will have been changed.  The following
messages from the fixfdmn log file will appear in this case:

15:26:52 | FOUND | Found corruptions in RBMT/BMT0 log mcell.
15:26:52 | FOUND | Found corruptions in RBMT/BMT0 vol/dom mcell.
15:26:52 | FOUND | Found corruptions in RBMT/BMT0 misc mcell.
15:26:52 | FOUND | Found corruptions in RBMT/BMT0 root tag mcell.
15:26:52 | FOUND | Found corruptions in RBMT/BMT0 log mcell.
15:26:52 | FOUND | Found corruptions in RBMT/BMT0 misc mcell.

Note these same log messages can also appear if fixfdmn finds actual 
corruptions.


PROBLEM: (96066, 96083) (PATCH ID: OSF520-1129)
********
In a rare case, does not correctly fix invalid extent records.



