A previous change in the c-tree rebuild/compact logic caused these operations to return error DCPT_ERR (1107, data file corrupt, restore to backup) if an invalid variable length c-tree record header was detected in the data file. A -repairdata command-line option was added to ctrbldif and ctcmpcif utilities to force the rebuild or compact operation to attempt scanning for a valid record header, repair the invalid header, and continue the operation.
This modification introduces the -repairdata option for ctutil -rebuild and -compact commands to force rebuild or compact to attempt a repair if damaged data records are detected. Upon error 1107 DCPT_ERR, ctutil now outputs the following error message:
Damaged data records detected. Restore data file from backup or use -repairdata and attempt to restore to a functional state.