DF-2652 / run.log
# DF-2652 run.log — decisive runs (stock INVARIANTS kernel #0)
# guest: DragonFly 6.5-DEVELOPMENT #0
==================== RUN A: default (iscsi32 CRC brefs) ====================
$ vm.sh run_root '
vnconfig -c vn0 /tmp/forge2652.img
mount -t hammer2 /dev/vn0@testvol /mnt/h2t
echo "MOUNT1_RC=$?"
cp /tmp/fileB.bin /mnt/h2t/fileB
sync
ls -l /mnt/h2t
umount /mnt/h2t
vnconfig -u vn0
echo DONE1'
MOUNT1_RC=0
total 7264
-rw-r--r-- 1 root wheel 1048576 Aug 30 00:57 f2653
-rw-r--r-- 1 root wheel 1572864 Aug 30 00:57 fileA
-rw-r--r-- 1 root wheel 1572864 Aug 30 01:09 fileB
DONE1
--- host-side inspection of the post-run image (after2652.img) ---
disk@X0 (0x1c40000): b'FILEB-CHUNK-000000-\xc4\x96\xb4\xa4\x1a\xafU\xfc\xda-\x98\xc0v'
FILEA chunk 14 header on disk @ 0x1c38000
FILEA chunk 15 header on disk @ 0x1c3c000
FILEA chunk 16 header on disk @ NOT FOUND
FILEA chunk 17 header on disk @ NOT FOUND
FILEA chunk 18 header on disk @ NOT FOUND
FILEA chunk 19 header on disk @ NOT FOUND
FILEB chunk 0 header on disk @ 0x1c40000
FILEB chunk 1 header on disk @ 0x1c44000
FILEB chunk 2 header on disk @ 0x1c48000
FILEB chunk 3 header on disk @ 0x1c4c000
FILEB chunk 4 header on disk @ 0x1e70000 <- fresh space only after X0 consumed
volhdr@0x0 freemap_tid=0x12 leaf doff=0x6000f <- leaf rotated by recovery modify
bmap[7]: linear=0 cls=0x310 avail=0x80000 <- was 0x200000 pre-mount
bits: ffffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffff
ffffffffffffffff ffffffffffffffff 00ffffffffffffff 0000000000000000
--- remount + read-back (guest) ---
$ vm.sh run_root 'vnconfig -c vn0 /tmp/forge2652.img; mount ... ; md5 /mnt/h2t/fileA; md5 /mnt/h2t/fileB'
=== fileA md5:
md5: can't read /mnt/h2t/fileA: Input/output error <- fileA's live block was
overwritten; CRC mismatch
=== fileB md5:
MD5 (/mnt/h2t/fileB) = a8ca1b2e0bf80deddaa89f20f2d619e2 <- fileB reads fine
==================== RUN B: CHECK_NONE brefs (forge2652b.img) ==============
$ vm.sh run_root '
vnconfig -c vn0 /tmp/forge2652b.img
mount -t hammer2 /dev/vn0@testvol /mnt/h2t
cp /tmp/fileB.bin /mnt/h2t/fileB
sync
umount /mnt/h2t
vnconfig -u vn0
vnconfig -c vn0 /tmp/forge2652b.img
mount -t hammer2 /dev/vn0@testvol /mnt/h2t
echo "=== fileA chunks 16..19 after remount (cross-file bleed?):"
dd if=/mnt/h2t/fileA bs=16k skip=16 count=4 2>/dev/null | grep -ao "FILE[AB]-CHUNK-[0-9]*" | head -8
umount /mnt/h2t'
=== fileA chunks 16..19 after remount (cross-file bleed?):
FILEB-CHUNK-000000
FILEB-CHUNK-000001
FILEB-CHUNK-000002
FILEB-CHUNK-000003
==================== FIX VALIDATION (kernel #1, & 31) ======================
$ vm.sh run_root '... same forge2652.img, cp fileB, umount, remount ...'
===== DF-2652 on FIXED kernel:
MOUNT_OK
MD5 (/mnt/h2t/fileA) = 4511730a267863dfcb88504c3068b2f2 == pristine fileA.bin (host md5sum)
fileA chunks 16..19 headers (must be FILEA):
FILEA-CHUNK-000016
FILEA-CHUNK-000017
FILEA-CHUNK-000018
FILEA-CHUNK-000019