DF-2652 / run.sh
#!/bin/sh # DF-2652 run: mount, write fileB (overlaps fileA's mismarked block), remount, read fileA. # Stock kernel: fileA corrupted (EIO with default iscsi32 brefs; foreign # content with forge2652b.img). Patched kernel: fileA intact. set -e cd "$(dirname "$0")" IMG="${1:-forge2652.img}" ../../dfbsd-qemu/vm.sh run_root " vnconfig -u vn0 2>/dev/null || true vnconfig -c vn0 /tmp/$IMG mkdir -p /mnt/h2t mount -t hammer2 /dev/vn0@testvol /mnt/h2t && echo MOUNT_OK cp /tmp/fileB.bin /mnt/h2t/fileB sync umount /mnt/h2t vnconfig -u vn0 vnconfig -c vn0 /tmp/$IMG mount -t hammer2 /dev/vn0@testvol /mnt/h2t echo 'fileA chunks 16..19:' dd if=/mnt/h2t/fileA bs=16k skip=16 count=4 2>/dev/null | grep -ao 'FILE[AB]-CHUNK-[0-9]*' | head -5 md5 /mnt/h2t/fileA umount /mnt/h2t vnconfig -u vn0 " |