NVSL / linux-nova

NOVA is a log-structured file system designed for byte-addressable non-volatile memories, developed at the University of California, San Diego.
http://nvsl.ucsd.edu/index.php?path=projects/nova
Other
422 stars 117 forks source link

Fix crash consistency issue with alternate logs (#100) #109

Closed hayley-leblanc closed 2 years ago

hayley-leblanc commented 2 years ago

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.