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

next in thread | previous in thread | raw e-mail | index | archive | help
2018-06-01 17:38 GMT+08:00 Harry Schmalzbauer <freebsd@omnilan.de>:

> Am 15.11.2017 um 15:19 schrieb Harry Schmalzbauer:
>
>> Bez=C3=BCglich 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 cor=
e
>>>> dump:
>>>> Assertion failed: (n >=3D 2 && n <=3D 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.
>>>
>> =E2=80=A6
>>
>> Mising in another reply:
>>
>> Wiadomo=C5=9B=C4=87 napisana przez Harry Schmalzbauer <freebsd@omnilan.d=
e
>>>> <mailto:freebsd@omnilan.de>> w dniu 03.01.2017, o godz. 20:33:
>>>>
>>> =E2=80=A6
>>
>>> 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 toda=
y.
>>>
>>> JFYI, fixing
>>> commit:
>>>
>> https://github.com/freenas/os/commit/0e4d6e1826f8aa7041cbeeb
>> 4365c797eeec5c5f4
>>
>> 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?
>

There were some discussion[0] about this possible fix, but seems the fix is
not that so simple.
I got distracted with other things and I didn't further investigated this
issue.

Maybe Peter has something news about this issue.

[0] https://reviews.freebsd.org/D10581

Best,


>
> Index: src/usr.sbin/bhyve/block_if.h
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> --- 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
> _______________________________________________
> freebsd-virtualization@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-virtualization
> To unsubscribe, send any mail to "freebsd-virtualization-unsubs
> cribe@freebsd.org"
>



--=20

--=20
Marcelo Araujo            (__)araujo@FreeBSD.org
\\\'',)http://www.FreeBSD.org <http://www.freebsd.org/>;   \/  \ ^
Power To Server.         .\. /_)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOfEmZhD_d0ZHcoimDrSpSZd3_fYpqZjFrwfmuZ82kupB16v8Q>