PROBLEM: (87633, 88821, 88908, 88284, 83918, 89778) (PATCH ID: OSF440-619) ******** 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: (92284) (PATCH ID: OSF440-759) ******** Fixfdmn could core dump while checking the root tag file or the tag file in a very rare corruption case. PROBLEM: (90954) (PATCH ID: OSF440-767) ******** 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: OSF440-764) ******** 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: (92230) (PATCH ID: OSF440-805) ******** 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: (95465) (PATCH ID: OSF440-1008) ******** 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: (91648) (PATCH ID: OSF440-753) ******** 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: (90798) (PATCH ID: OSF440-711) ******** 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: (ZPO150044) (PATCH ID: OSF440-898) ******** 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.