Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
dnbd3_fuse_cow [2022/09/12 11:54 CEST] – [cow_merger_service] verfl. chr | dnbd3_fuse_cow [2022/09/14 18:01 CEST] – Standard Test funktionsweise mscherle | ||
---|---|---|---|
Zeile 486: | Zeile 486: | ||
Diese Erweiterung verwendet einen neuen Lock cow.l2CreateLock. Er wird verwendet, wenn ein neues L2-Array zugewiesen wird. | Diese Erweiterung verwendet einen neuen Lock cow.l2CreateLock. Er wird verwendet, wenn ein neues L2-Array zugewiesen wird. | ||
- | <note warning> | + | |
===Config Variablen ==== | ===Config Variablen ==== | ||
Die folgenden Konfigurationsvariablen wurden zu config.h hinzugefügt. Eine Änderung wird nur erfahrenen Nutzern empfohlen. | Die folgenden Konfigurationsvariablen wurden zu config.h hinzugefügt. Eine Änderung wird nur erfahrenen Nutzern empfohlen. | ||
Zeile 616: | Zeile 616: | ||
| mergedBlocks | integer | | Yes | | | mergedBlocks | integer | | Yes | | ||
| totalBlocks | integer | | Yes | | | totalBlocks | integer | | Yes | | ||
+ | |||
+ | ==== Tests ==== | ||
+ | |||
+ | ===Standard Test=== | ||
+ | |||
+ | ==TestSingleBit== | ||
+ | Setzt das erste Bit des ersten dnbd3 Blocks auf 1 und das mittlere Bit des zweiten dnbd3 Blocks auf 1. | ||
+ | |||
+ | ==WriteOverTwoBlocks== | ||
+ | Dieser Test schreibt über zwei dnbd3 Blöcke. | ||
+ | |||
+ | ==WriteNotOnBlockBorder== | ||
+ | Dieser Test schreibt über drei Blöcke, jedoch beginnt er nicht an der Block grenze. | ||
+ | |||
+ | ==InterleavedTest== | ||
+ | Dieser Test schreibt mehrere dnbd3 Blöck mit verschiedenen Daten, jedoch lässt er Blöcke zwischendrin unbeschrieben. | ||
+ | |||
+ | ==WriteOverL2== | ||
+ | Dieser Test, testet das schreiben über eine L2 grenze. | ||
+ | |||
+ | ==MultipleWrites== | ||
+ | Dieser Test schreibt mehrmals auf dieselben Blöcke verschiedene Daten. Mit dem --delay Paramter kann die Wartezeit zwischen den Schreibvorgängen definiert werden. Dies ist nützlich, da je nach Delay die Blöcke zwischenzeitlich hochgeladen werden. | ||
+ | |||
+ | ==fileSizeChanges== | ||
+ | Testet Änderungen an der Dateigröße. Zuerst wird die Dateigröße um 2 * l2Capacity mit einem Truncate erhöht. Dann wird geprüft, ob alle Bits in dem neu zugewiesenen Speicherplatz auf 0 gesetzt sind. Dann werden Daten in die Datei geschrieben, | ||
+ | |||
+ | ==LongNonAlignedPattern== | ||
+ | Dieser Test schreibt ein langes Muster über 3 l2-Blöcke. Das Muster wiederholt Zeichen von 0 bis 254, ist also kein Vielfaches von 4096, was dazu führt, dass alle Blöcke mit unterschiedlichen Daten gefüllt werden. Außerdem ist dieser Test nicht blockorientiert. | ||
+ | |||
+ | ===Random Test=== | ||
+ | Dieser Test führt wie oben beschrieben zufällig Größenänderungen und Schreibvorgänge durch. Die Wahrscheinlichkeit für eine Größenänderung wird mit dem Macro RND_TRUNCATE_PROBABILITY definiert und ist standardmäßig 5 %. | ||
+ | Ansonsten wird ein Schreibvorgang ausgeführt. Des Weiteren gibt es noch das Macro RND_UNALIGNED_WRITE_PROBABILITY, | ||