xen-blk{front/back}: remove broken FreeBSD extensions
authorroyger <royger@FreeBSD.org>
Fri, 12 Jun 2015 07:50:34 +0000 (07:50 +0000)
committerroyger <royger@FreeBSD.org>
Fri, 12 Jun 2015 07:50:34 +0000 (07:50 +0000)
commitecdfc8f10abb6d2e0917e148f37aafc2b8ed76f8
tree483a8786fad7d4b3904187bc6501c46fd5d0ea5a
parenta75e86bc6b9dac6636dba259df0fb6c5b731d445
xen-blk{front/back}: remove broken FreeBSD extensions

The FreeBSD extension adds a new request type, called blkif_segment_block
which has a size of 112bytes for both i386 and amd64. This is fine on
amd64, since requests have a size of 112B there also. But this is not true
for i386, where requests have a size of 108B. So on i386 we basically
overrun the ring slot when queuing a request of type blkif_segment_block_t,
which is very bad.

Remove this extension (including a cleanup of the public blkif.h header
file) from blkfront and blkback.

Sponsored by: Citrix Systems R&D
Tested-by: cperciva
sys/dev/xen/blkback/blkback.c
sys/dev/xen/blkfront/blkfront.c
sys/dev/xen/blkfront/block.h
sys/xen/blkif.h
sys/xen/interface/io/blkif.h