bhyve: Fix vtscsi maximum segment config
The seg_max value reported to the guest should be two less than the host's maximum, in order to leave room for the request and the response. This is analogous to r347033 for virtio_block. We hit the "too many segments to enqueue" assertion on OneFS because we increase MAXPHYS to 256 KB. Reviewed by: bryanv Discussed with: cem jhb rgrimes MFC after: 1 week Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D20529
This commit is contained in:
parent
6425fed7e6
commit
db2114b4b8
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=349278
@ -309,7 +309,8 @@ pci_vtscsi_reset(void *vsc)
|
|||||||
/* initialize config structure */
|
/* initialize config structure */
|
||||||
sc->vss_config = (struct pci_vtscsi_config){
|
sc->vss_config = (struct pci_vtscsi_config){
|
||||||
.num_queues = VTSCSI_REQUESTQ,
|
.num_queues = VTSCSI_REQUESTQ,
|
||||||
.seg_max = VTSCSI_MAXSEG,
|
/* Leave room for the request and the response. */
|
||||||
|
.seg_max = VTSCSI_MAXSEG - 2,
|
||||||
.max_sectors = 2,
|
.max_sectors = 2,
|
||||||
.cmd_per_lun = 1,
|
.cmd_per_lun = 1,
|
||||||
.event_info_size = sizeof(struct pci_vtscsi_event),
|
.event_info_size = sizeof(struct pci_vtscsi_event),
|
||||||
|
Loading…
Reference in New Issue
Block a user