Rename () senza fsync () è sicuro?
Domanda
È sicuro chiamare rename(tmppath, path)
senza chiamare fsync(tmppath_fd)
primo?
Voglio il percorso per indicare sempre un file completo. Mi interessa principalmente Ext4. Il Rename () è stato promesso di essere al sicuro in tutte le versioni future del kernel Linux?
Un esempio di utilizzo in 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)
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow