utsaslab / SplitFS

SplitFS: persistent-memory file system that reduces software overhead (SOSP 2019)
https://www.cs.utexas.edu/~vijay/papers/sosp19-splitfs.pdf
Other
163 stars 53 forks source link

Missing fsync after creation of operation log file #59

Closed OmSaran closed 2 years ago

OmSaran commented 2 years ago

After creating the operation log file, we do not seem to be doing an fsync.

This does not guarantee the creation of operation.log and could end up in missing metadata information (about the presence of the op log file) and hence loss of any op logs entries.

This was observed when a crash was simulated after creation of a file /mnt/pmem_emul/foo but upon restart, the operation.log file was missing. Adding an fsync resolved the presence of operation.log issue.

PS: The same is true for append.log

OmSaran commented 2 years ago

Here's an attempted fix: #61

rohankadekodi commented 2 years ago

Thanks for finding the bug and the fix! It has been merged to master.