标签: system-calls fsync
我有一个循环的write(2),其中包含任意数量的数据+ EOL和一个逐行附加到文件的fsync(2)。
进程崩溃是否会让我有一个文件,其中write(2)调用的一半数据写入文件? 我的理论是,如果操作系统偶尔会调用fsync,那么在调用期间可能会出现一个巧合,写入(2)将文件写入一半的行,而没有结束新行。
答案 0 :(得分:0)
是。即使没有崩溃,您可能会写一个部分行,因为write调用可能无法写入传递给它的所有数据 - 它可能会返回一个简短的写入。
write