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)

questionAnswers(3)

yourAnswerToTheQuestion