Écrire des considérations de perte de données dans le cache lors de l'utilisation de oplocks
Dans certaines circonstances, si un processus possède un oplock exclusif sur un fichier et qu'un deuxième processus tente d'ouvrir le fichier, le premier processus doit invalider les données mises en cache et vider les écritures et les verrous. Le client doit ensuite abandonner le oplock et accéder au fichier. En cas de panne du réseau pendant ce vidage, les données d'écriture mises en cache peuvent être perdues.
-
Les possibilités de perte de données
Toute application avec des données en cache d'écriture peut perdre ces données dans les circonstances suivantes :
-
La connexion s'effectue à l'aide de SMB 1.0.
-
Il a un oplock exclusif sur le fichier.
-
Il est dit de briser ce oplock ou de fermer le fichier.
-
Lors du vidage du cache d'écriture, le réseau ou le système cible génère une erreur.
-
-
Erreur de gestion et de fin d'écriture
Le cache lui-même n'a pas de traitement d'erreur—les applications le font. Lorsque l'application effectue une écriture dans le cache, l'écriture est toujours terminée. Si le cache, à son tour, effectue une écriture sur le système cible via un réseau, il doit supposer que l'écriture est terminée car si ce n'est pas le cas, les données sont perdues.