dd: vm_fault: pager read error

grarpamp grarpamp at gmail.com
Sun Oct 8 18:24:06 UTC 2017


Here is a report of a repeatable unrecoverable problem.

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
# <reboot: Device not configured>
The same goes for any other uncached access to the
filesystem in ada0s1a (Note: / is on s1a, dd occurs past
that), ie all first use of commands that read disk.

Repeating scrolling the console...
"
vnode_pager_generic_getpages_done: I/O read error 5
vm_fault: pager read error, pid 1 (init)
"

Requires HW reset button, then after system comes back
up, all layout, filesystems, and data are fine.

Repeatable every time.

Also,

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

does get written to disk 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,
only the write of the string does.

All the layout offsets and sizes add up sequentially, no overlap,
the relavant portions are below, disk is <~= 250G,
gpart, fdisk, boot0cfg, bsdlabel all concur without error,
and were done with the live release tool versions.

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-stable mailing list