]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Workaround bhyve virtual disks operation on top of GEOM providers.
authormav <mav@FreeBSD.org>
Sat, 18 Apr 2015 20:10:19 +0000 (20:10 +0000)
committermav <mav@FreeBSD.org>
Sat, 18 Apr 2015 20:10:19 +0000 (20:10 +0000)
commit22312966effcdb0de8b734f30aa3438a628ba497
tree8ca6046216bdf0cb81ec044a06c118576214e084
parentec156468498da600ba8b0fde444b783708e7246d
Workaround bhyve virtual disks operation on top of GEOM providers.

GEOM does not support scatter/gather lists in its I/Os.  Such requests
are cut in pieces by physio(), that may be problematic, if those pieces
are not multiple of provider's sector size.  If such case is detected,
move the data through temporary sequential buffer.

MFC after: 2 weeks
usr.sbin/bhyve/block_if.c
usr.sbin/bhyve/block_if.h
usr.sbin/bhyve/pci_ahci.c
usr.sbin/bhyve/pci_virtio_block.c