Il devrait vider le cache, oui.
Il y a sans doute une certaine fragilité dans ce chemin de code. Il n'est pas mis en œuvre en un seul endroit; il est implémenté dans chaque système de fichiers individuel. Par exemple. ext2_remount() doit appeler sync_filesystem().
De plus, dans tous les cas d'utilisation que je connais, il est utilisé avec le sync()
appel système. Donc, si vous vous fiez à cela et que le noyau se trompe, vous pourriez avoir le "privilège" d'être le premier à remarquer un problème.
Si vous voulez être très prudent, vous pouvez utiliser sync -f /my/mounted/filesystem/
. Il est préférable de sync
car il évite les interférences avec tout autre système de fichiers. Il utilise l'appel système Linux syncfs()
.