Je ne trouve pas de réponse simple et directe sur les opérations de métadonnées du système de fichiers qui sont réellement conservées dans les journaux des systèmes de fichiers ext4 et xfs. Notez que je ne demande pas ce que POSIX déclare être "atomique". Je suis plus préoccupé par le sous-ensemble des opérations du système de fichiers atomique qui sont effectivement durables en raison de l'exécution avec un journal activé sans avoir à se pencher en arrière et fsync(2)
tout le temps.
Opérations dont je suis assez certain:
creat(2)
link(2)
unlink(2)
rename(2)
mkdir(2)
rmdir(2)
Opérations dont je ne suis pas tout à fait sûr:
symlink(2)
Le symlink(2)
cas est le plus troublant, car il ne semble pas y avoir de façon simple à fsync(2)
ou fdatasync(2)
les sous - jacents qui stockent datablock le contenu d'un lien symbolique. Savoir que le journal s'en occupe pour moi serait un soulagement.
la source
Aucun. Si vous voulez être sûr que les changements persistent après un plantage, vous devez fsync, point. La journalisation garantit uniquement qu'en cas de plantage, aucune des opérations que vous avez répertoriées ne sera à moitié effectuée.
la source
Vous savez que le journal ext4 fonctionne par numéro de bloc et non par opération, n'est-ce pas? Les "métadonnées" seraient autre chose que ces blocs de données réels pour l'inode donné, quelle que soit l'opération que vous avez utilisée pour modifier le bloc en question.
la source
xfstests semble prétendre que fsync () sur un répertoire devrait conserver tous les liens symboliques qu'il contient.
Je n'ai pas vérifié cela. Il est possible que j'ai raté quelque chose.
xfstests est utilisé par de nombreux développeurs de systèmes de fichiers Linux. Ce test se trouve dans le répertoire "générique". Cela implique qu'il devrait s'appliquer à tous les systèmes de fichiers Linux. (Ou au moins, tous les systèmes de fichiers de périphérique de bloc. Le test fonctionne en utilisant un périphérique de bloc virtuel spécial).
https://github.com/kdave/xfstests/blob/master/tests/generic/348
la source