Je crois que tu n'as pas bien lu ...
"NTFS uses transaction logging and recovery to guarantee that the volume structure is not corrupted. For this reason, all file system data is accessible after a system failure."
Rien de plus normal : après un crash, pas besoin de faire un scandisk avant de pouvoir lire tout les fichiers, NTFS n'en a pas besoin : on est assuré que la structure du volume est saine, ce qui n'est pas le cas par exemple avec la FAT. => c'est un bon point.
"NTFS guarantees user data only if the program used to create the data uses the FILE_FLAG_WRITE_THROUGH Win32 flag. If the program does not use this flag, user data can be lost due to a system failure. If a system failure does occur, NTFS shows either the previous data, the new data, or zeros. Users do not see random data on the volume as the result of a crash."
Si, quand le crash a eu lieu, un fichier était ouvert, en cours d'écriture, alors NTFS ne garantit pas que les données écrites l'aient été effectivement fait. C'est "normal", à cause des buffers. La seule exception est quand on a demandé au système de ne pas utiliser de buffer, à l'aide du flag FILE_FLAG_WRITE_THROUGH lors de l'appel à CreateFile. Alors là, on est assuré que tout ce qui est écrit l'est réellement et instantanément sur le disque. Si l'on n'a pas utilisé ce flag, on peut perdre les données qui étaient dans le cache et non encore écrites, et avoir à la place soit les données précédentes, soit des zéros.
=> là c'est pas spécialement un bon point, mais ça s'applique à la plupart des systèmes de fichiers modernes.
Je vois pas de problème. Mais c'est vrai qu'on parlais des problèmes de la journalisation qui a un train de retard.
---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite