Warum ändert sich die „du“-Ausgabe-/Unterverzeichnisgröße auf der Festplatte, nachdem eine Datei im übergeordneten Verzeichnis erstellt wurde?

Warum ändert sich die „du“-Ausgabe-/Unterverzeichnisgröße auf der Festplatte, nachdem eine Datei im übergeordneten Verzeichnis erstellt wurde?
╼ pwd
/some/dir
╼ ls
╼ some_script.py --create centos-chroot
╼ ls
centos-chroot
╼ du --block-size=1 -s centos-chroot
6320181248
╼ fallocate -l 36613854208 largefile
╼ ls
centos-chroot largefile
╼ du --block-size=1 -s centos-chroot
6320185344

Ich habe versucht, das Verzeichnis zu kopieren, bevor ich eine Datei erstellt habe, und diff -qrsie dann durchzugehen, und selbst wenn ich einmal die Ergebnisse sha1sumdurchgehe find, ändert sich nichts. Ich habe offensichtlich nichts anderes, das auf Dateien im Verzeichnis zugreift, keine VMs/Container/was auch immer, kein paralleles Schreiben, keine Dateien werden geändert usw. Nur das gestreifte LVM von zwei Festplatten mit EXT4 darüber, in dem ich ein Verzeichnis erstelle und fülle, eine Datei erstelle und danach die Größe des Verzeichnisses scheinbar von 0x178b65000auf zunimmt 0x178b66000. Oder von 0x178b67000auf 0x178b6d000in einem anderen Fall oder von 0x178b67000auf 0x178b6b000in dem Fall, den ich gestern aufgezeichnet habe.

Es passiert nicht jedes Mal, es passiert nicht auf allen Maschinen, auf denen ich es getestet habe, und wenn es einmal passiert, wird es wirklich schwierig, es auf derselben Maschine zu reproduzieren.

verwandte Informationen