Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Jun 2018 11:38:12 +0200
From:      Harry Schmalzbauer <freebsd@omnilan.de>
To:        Peter Grehan <grehan@freebsd.org>
Cc:        freebsd-virtualization@freebsd.org
Subject:   Re: pci_virtio_block.c Assertion failed: line 216
Message-ID:  <45bce0fc-c6a5-9b9e-9e74-312c2814a31e@omnilan.de>
In-Reply-To: <5A0C4CFF.7040902@omnilan.de>
References:  <586BFC91.4090404@omnilan.de> <2a8308c3-1570-08a3-a993-0f699fcd267d@freebsd.org> <5A0C4CFF.7040902@omnilan.de>

next in thread | previous in thread | raw e-mail | index | archive | help
Am 15.11.2017 um 15:19 schrieb Harry Schmalzbauer:
> Bezüglich Peter Grehan's Nachricht vom 03.01.2017 20:36 (localtime):
>> Hi Harry,
>>
>>> trying to use bhyve(8) with virtio-blk and Windows guest results in core
>>> dump:
>>> Assertion failed: (n >= 2 && n <= BLOCKIF_IOV_MAX + 2), function
>>> pci_vtblk_proc, file usr.sbin/bhyve/pci_virtio_block.c, line
>>> 216.
>>> Abort trap (core dumped)
>>>
>>> Unfortunately this is on a production-test machine which lacks gdb etc.
>>> Will try to reproduce on antoher machine, but maybe someone already
>>> knows that problem?
>>   virtio-blk isn't currently supported with Windows guests. You'll need
>> to use ahci-hd for now.
>>
>>   However, I do have a fix that can hopefully be committed shortly.
> …
>
> Mising in another reply:
>
>>> Wiadomość napisana przez Harry Schmalzbauer <freebsd@omnilan.de
>>> <mailto:freebsd@omnilan.de>> w dniu 03.01.2017, o godz. 20:33:
> …
>>> Will try to reproduce on antoher machine, but maybe someone already
>>> knows that problem?
>> I've seen that problem and fixed it, will upstream the patch later today.
>>
>> JFYI, fixing
>> commit:
> https://github.com/freenas/os/commit/0e4d6e1826f8aa7041cbeeb4365c797eeec5c5f4
>
> Thanks Jakub for the info.
>
> I can confirm that increasing BLOCKIF_IOV_MAX from 33 to 128, like the
> diff shows, solved the problem for me.
> I've successfully done some performace tests on Windows7 (virtio-blk vs.
> ahci,hd:) and also migrated one Server 2012R2 to bhyve using virtio-blk.
>
> Peter, is your mentioned fix different from just increasing BLOCKIF_IOV_MAX?
> If not, would you commit that please?

I hope that I don't bug people knowing better, but this simple diff 
makes virtio-blk usable for Windows 7.
Is there any reason not to commit?

Index: src/usr.sbin/bhyve/block_if.h
===================================================================
--- usr.sbin/bhyve/block_if.h       (Revision 325745)
+++ usr.sbin/bhyve/block_if.h       (Arbeitskopie)
@@ -39,7 +39,7 @@
  #include <sys/uio.h>
  #include <sys/unistd.h>

-#define BLOCKIF_IOV_MAX                33      /* not practical to be 
IOV_MAX */
+#define BLOCKIF_IOV_MAX                128     /* not practical to be 
IOV_MAX */

  struct blockif_req {
         struct iovec    br_iov[BLOCKIF_IOV_MAX];

Thanks,

-harry



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45bce0fc-c6a5-9b9e-9e74-312c2814a31e>