dd: vm_fault: pager read error

grarpamp grarpamp at gmail.com
Mon Oct 2 19:36:24 UTC 2017


11.0 release amd64 r306420

kern.geom.debugflags=0 (unmodified)

dd if=/dev/zero of=/dev/ada0s1 seek=2048 count=1 bs=1m
1+0 records in
1+0 records out
1048576 bytes transferred

reboot: Device not configured,
and for any other uncached access to the filesystem
in ada0s1a, note / is on s1a, dd is past that.

vnode_pager_generic_getpages_done: I/O read error 5
vm_fault: pager read error, pid 1 (init)

HW reset and all layout, filesystems, and data are fine.

Repeatable.

Also,

echo '<random_string>' | dd of=/dev/ada0s1 seek=2048 count=1 bs=1m conv=sync

does get written and is readable upon reboot,

dd if=/dev/ada0s1 skip=2048 count=1 bs=1m
<random_string>'

wherein that read does not trigger the fault.

All the offsets and sizes add up sequentially, no overlap,
the relavant portions are below, disk is <~= 250G,
gpart, fdisk, boot0cfg, bsdlabel all concur without error.

What am I overlooking, or is this kernel behaviour a bug?

=>       63        x    ada0  MBR  (XG)
         63          1          - free -  (512B)
         64    8388608  ada0s1  freebsd  [active]  (4.0G)
    8388672  109051904  ada0s2  freebsd  (52G)

=>      0  8388608   ada0s1  BSD  (4.0G)
        0  4194304  ada0s1a  freebsd-ufs  (2.0G) /
  4194304  4194304           - free -  (2.0G)


More information about the freebsd-fs mailing list