# Test Case: Sequential Throughput **Test ID**: TC128-sequential-throughput **Category**: Boundary & Stress **Priority**: Medium **Regression**: None ## Objective Record reproducible sequential-read metrics for the exact 256 MiB fixture under QEMU TCG while gating PASS only on complete and correct reads. ## Preconditions - Complete `G7-MANUAL-SETUP.md` and record the QEMU TCG configuration. - Do not apply fixed MB/s thresholds across hosts. ## Manual Steps ```sh G7=/root/repo22-g7 FIX=$G7/fixtures SRC=$FIX/sources/workloads/sequential/sequential.bin IMAGE=$FIX/images/workloads.erofs MNT=/mnt/repo22-g7-tc128 E=$G7/evidence/TC128 mkdir -p "$MNT" "$E" test "$(stat -f %z "$SRC")" -eq 268435456 unit=$(mdconfig -a -t vnode -f "$IMAGE") mount -t erofs -o ro "/dev/$unit" "$MNT" TARGET=$MNT/sequential/sequential.bin source_hash=$(sha256 -q "$SRC") target_hash=$(sha256 -q "$TARGET") printf 'bytes=268435456\nsource=%s\ntarget=%s\n' \ "$source_hash" "$target_hash" | tee "$E/hashes.txt" test "$source_hash" = "$target_hash" cmp "$SRC" "$TARGET" : > "$E/runs.tsv" run=1 while [ "$run" -le 3 ]; do /usr/bin/time -p dd if="$TARGET" of=/dev/null bs=1m \ > "$E/run-$run.log" 2>&1 rc=$? printf '%s\t%s\n' "$run" "$rc" >> "$E/runs.tsv" cat "$E/run-$run.log" test "$rc" -eq 0 || exit 1 run=$((run + 1)) done cat "$E/runs.tsv" test "$(awk '$2 != 0 { bad++ } END { print bad + 0 }' "$E/runs.tsv")" -eq 0 umount "$MNT" mdconfig -d -u "${unit#md}" test -z "$(mount -p | awk -v m="$MNT" '$2 == m { print }')" test -z "$(mdconfig -l | tr ' ' '\n' | grep -x "$unit")" ``` ## PASS Gate - Mounted size is exactly 268435456; SHA256 and full `cmp` match the source. - All three `dd` reads transfer the full file and exit 0. - Bytes/second and real/user/sys times are reported as TCG metrics only. - No fixed speed gate, panic, hang, or cleanup leak occurs.