PROBLEM: (87633, 88821, 88908, 88284, 83918, 89778) (PATCH ID: OSF445-240) ******** This patch provides support for the /sbin/advfs/fixfdmn utility. The /sbin/advfs/fixfdmn utility is a tool that is used to check and repair corrupted AdvFS domains. Refer to the Release Notes for complete description. PROBLEM: (ZPO150044) (PATCH ID: OSF445-525) ******** 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: (88821, 88908, 88284, 83918) (PATCH ID: OSF445-256) ******** This patch allows fixfdmn to correct a corruption in the deferred delete list. Fixfdmn would exit with the following message if it encounter this corruption: fixfdmn: Error clearing the deferred delete list. fixfdmn is not able to continue, no changes made to domain, exiting. Fixfdmn will not delete/corrupt the new On Disk Structures related to vfast and log isolation which are being added in V5.1b. PROBLEM: (90954) (PATCH ID: OSF445-390) ******** 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: (95465) (PATCH ID: OSF445-640) ******** 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: (92230) (PATCH ID: OSF445-429) ******** 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: (92284) (PATCH ID: OSF445-382) ******** Fixfdmn could core dump while checking the root tag file or the tag file in a very rare corruption case. PROBLEM: (90798) (PATCH ID: OSF445-329) ******** 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: (92359, 92403) (PATCH ID: OSF445-387) ******** 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.