This PR has a fix for the crash consistency bug described in issue #100. The issue could occur if the system crashed between initializing an inode's main and alternate logs. In the current version of NOVA, the inode's checksum is updated after the main log is initialized and again after the alternate log is initialized. Crashing between these updates can lead to a state where NOVA assumes that both logs are initialized, causing incorrect behavior. This fix moves the checksum update to occur after initialization of both logs, which prevents this issue.
This PR has a fix for the crash consistency bug described in issue #100. The issue could occur if the system crashed between initializing an inode's main and alternate logs. In the current version of NOVA, the inode's checksum is updated after the main log is initialized and again after the alternate log is initialized. Crashing between these updates can lead to a state where NOVA assumes that both logs are initialized, causing incorrect behavior. This fix moves the checksum update to occur after initialization of both logs, which prevents this issue.