BUILD-OK
+ kldload ext2fs
kldload: can't load ext2fs: module already loaded or in kernel
+ /root/vntool attach 0 /root/dev64.img
attached /root/dev64.img size=0
+ mkdir -p /mnt/e2
+ mount -t ext2fs -o ro /dev/vn0 /mnt/e2
+ df -k /mnt/e2
+ tail -1
/dev/vn0        7900  317  7174     4%    /mnt/e2
=== sanity: correct block markers BEFORE reload (lbn 100,101 and 268,269)
+ echo '=== sanity: correct block markers BEFORE reload (lbn 100,101 and 268,269)'
+ /root/trigger read /mnt/e2/f 100 2
lbn   100: marker=BLK00000100
lbn   101: marker=BLK00000101
READ-DEMO: 0/2 blocks bad
+ /root/trigger read /mnt/e2/f 268 2
lbn   268: marker=BLK00000268
lbn   269: marker=BLK00000269
READ-DEMO: 0/2 blocks bad
=== swap backing image: 4096-bsize fs -> 1024-bsize fs (same gcount=1)
+ echo '=== swap backing image: 4096-bsize fs -> 1024-bsize fs (same gcount=1)'
+ cat /root/imgB8.img
=== reload + statfs (adopts new bsize; um_nindir/f_iosize divergence)
+ echo '=== reload + statfs (adopts new bsize; um_nindir/f_iosize divergence)'
+ /root/trigger reload /mnt/e2
mount(MNT_UPDATE|MNT_RELOAD) rc=0 errno=0 (Undefined error: 0)
statfs rc=0 f_iosize=1024 f_bsize=1024
=== read demo: lbn 100 (in_off 88, still in-bounds) vs lbn 268+ (in_off>=256 OOB)
+ echo '=== read demo: lbn 100 (in_off 88, still in-bounds) vs lbn 268+ (in_off>=256 OOB)'
+ /root/trigger read /mnt/e2/f 100 2
lbn   100: marker=BLK00000100
lbn   101: marker=BLK00000101
READ-DEMO: 0/2 blocks bad
+ /root/trigger read /mnt/e2/f 268 4
lbn   268: marker=BLK00000268
lbn   269: marker=BLK00000269
lbn   270: marker=BLK00000270
lbn   271: marker=BLK00000271
READ-DEMO: 0/4 blocks bad
+ /root/trigger read /mnt/e2/f 400 2
lbn   400: short read 0
lbn   401: short read 0
READ-DEMO: 2/2 blocks bad
=== remount read-write (MNT_UPDATE WANTRDWR path, um_* still stale)
+ echo '=== remount read-write (MNT_UPDATE WANTRDWR path, um_* still stale)'
+ mount -u -o rw /mnt/e2
+ mount
+ grep e2
/dev/vn0 on /mnt/e2 (ext2fs, local)
=== write demo: create /w, sparse-write 0xAA at lbn 268..1023, read back
+ echo '=== write demo: create /w, sparse-write 0xAA at lbn 268..1023, read back'
+ /root/trigger write /mnt/e2/w
pwrite pass done (write errors: 0)
WRITE-DEMO: 0/756 blocks corrupted on readback
=== post-run dmesg tail
+ echo '=== post-run dmesg tail'
+ tail -30
+ dmesg
interrupt uses mplock: psm0
psm0: model IntelliMouse Explorer, device ID 4
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 on acpi0
sio0: type 16550A, console
ACPI: Enabled 2 GPEs in block 00 to 0F
rdrand0: No RdRand support.
orm0: <ISA Option ROM> at iomem 0xe8000-0xeffff on isa1
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa1
sio2: can't drain, serial port might not exist, disabling
hpt27xx: no controller detected.
CAM: Configuring 2 busses
CAM: finished configuring all busses
cd0 at ata1 bus 0 target 0 lun 0
cd0: <QEMU QEMU DVD-ROM 2.5+> Removable CD-ROM SCSI-0 device 
cd0: 16.000MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present
Mounting root from hammer2:vbd0s1d
hammer2_mount: root devstr="vbd0s1d"
hammer2_mount: device="vbd0s1d" label="ROOT" rdonly=1
hammer2_ondisk: "/dev/vbd0s1d" zone=2 id=0 offset=0x0000000000000000 size=0x000000063f000000
hammer2_mount: hmp=0xfffff8008fae0000 pmp=0xfffff80090280000
DMA space used: 13580k, remaining available: 131072k
Mounting devfs
hammer2_mount: "vbd0s1d": no recovery needed
hammer2: enable read/write
HAMMER2: VOLDATA DUMP
HAMMER2: INITIATE SPANs
swap low/high-water marks set to 41940/62910
vn0: MBR magic not found; assume a COMPATIBILITY_SLICE (s0)
vn0: MBR magic not found; assume a COMPATIBILITY_SLICE (s0)
+ sync
RUN-DONE
+ echo RUN-DONE
