Renomear () sem fsync () é seguro?
É seguro ligar pararename(tmppath, path)
sem ligar parafsync(tmppath_fd)
primeiro
Quero que o caminho aponte sempre para um arquivo completo. Eu me preocupo principalmente com Ext4. O rename () prometeu ser seguro em todas as versões futuras do kernel Linux?
Um exemplo de uso em Python:
def store_atomically(path, data):
tmppath = path + ".tmp"
output = open(tmppath, "wb")
output.write(data)
output.flush()
os.fsync(output.fileno()) # The needed fsync().
output.close()
os.rename(tmppath, path)