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>