对于不同页面之间对文件系统的写入顺序,Linux分页系统能提供什么保证?
特别是我正在通过mmap将某些记录“序列化”到文件中。任何单个记录/数据项都可能跨越多个页面。现在,假设机器崩溃了。恢复后如何丢弃部分书面记录?
a)如果我在每个记录前添加一个长度,并以“结束”定界符结束。我可以假定存在“结束”定界符以指示整个记录已写入吗?即使长度和“结尾”可以在不同的页面上? Linux分页子系统是否保证脏页的写入顺序?
b)如果我跟踪通过另一个文件写记录的完成情况怎么办?通过mmapped区域写入文件时,文件之间是否有“先发生”保证?