[CI-NO-BUILD] [vioscsi] Programmatically determine max_segments #1306
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Refactors
VioScsiFindAdapter()to:adaptExt->max_segmentsto replaceadaptExt->max_physical_breaks(also used in theVioScsiBuildIo()andVioScsiReadExtendedData()functions)max_segmentsin neo value "MaxPhysicalSegments" or the legacy value "PhysicalBreaks". New value defined byREGISTRY_MAX_PH_SEGMENTS.max_segmentsfromadaptExt->scsi_config.seg_maxand from theadaptExt->scsi_config.max_sectorsvaluePHYS_SEGMENTS_LIMITto replaceMAX_PHYS_SEGMENTSVIRTIO_MAX_SGto(PHYS_SEGMENTS_LIMIT + 1)VIRTIO_SCSI_QUEUE_LASTto(MAX_CPU - VIRTIO_SCSI_REQUEST_QUEUE_0)max_segmentsincrement from calculation ofsgMaxElementsinVioScsiBuildIo()Note: This commit enables the use of max_segments greater than
adaptExt->scsi_config.seg_max(max = 254) up toPHYS_SEGMENTS_LIMIT(presently 512). PR #1316 increases this value to 1,022.