From fd198814920ced5b8aa57dcab7fcb718315799b2 Mon Sep 17 00:00:00 2001 From: Peter Grehan Date: Thu, 21 May 2015 04:19:22 +0000 Subject: [PATCH] Temporarily revert r282922 which bumped the max descriptors. While there is no issued with the number of descriptors in a virtio indirect descriptor, it's a guest's choice as to whether indirect descriptors are used. For the case where they aren't, the virtio block ring size is still 64 which is less than the now reported max_segs of 67. This results in an assertion in recent Linux guests even though it was benign since they were using indirect descs. The intertwined relationship between virtio ring size, max seg size and blockif queue size will be addressed in an upcoming commit, at which point the max descriptors will again be bumped up to 67. --- usr.sbin/bhyve/block_if.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/block_if.h b/usr.sbin/bhyve/block_if.h index b1849a6c9e1..8e63407e36b 100644 --- a/usr.sbin/bhyve/block_if.h +++ b/usr.sbin/bhyve/block_if.h @@ -39,7 +39,7 @@ #include #include -#define BLOCKIF_IOV_MAX 67 /* not practical to be IOV_MAX */ +#define BLOCKIF_IOV_MAX 33 /* not practical to be IOV_MAX */ struct blockif_req { struct iovec br_iov[BLOCKIF_IOV_MAX];