scsi: storvsc: set virt_boundary_mask in the scsi host template

This ensures all proper DMA layer handling is taken care of by the SCSI
midlayer.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Christoph Hellwig 2019-06-17 14:19:56 +02:00 committed by Martin K. Petersen
parent 552a990ca1
commit 83eed4592f
1 changed files with 2 additions and 3 deletions

View File

@ -1435,9 +1435,6 @@ static int storvsc_device_configure(struct scsi_device *sdevice)
{ {
blk_queue_rq_timeout(sdevice->request_queue, (storvsc_timeout * HZ)); blk_queue_rq_timeout(sdevice->request_queue, (storvsc_timeout * HZ));
/* Ensure there are no gaps in presented sgls */
blk_queue_virt_boundary(sdevice->request_queue, PAGE_SIZE - 1);
sdevice->no_write_same = 1; sdevice->no_write_same = 1;
/* /*
@ -1710,6 +1707,8 @@ static struct scsi_host_template scsi_driver = {
.this_id = -1, .this_id = -1,
/* Make sure we dont get a sg segment crosses a page boundary */ /* Make sure we dont get a sg segment crosses a page boundary */
.dma_boundary = PAGE_SIZE-1, .dma_boundary = PAGE_SIZE-1,
/* Ensure there are no gaps in presented sgls */
.virt_boundary_mask = PAGE_SIZE-1,
.no_write_same = 1, .no_write_same = 1,
.track_queue_depth = 1, .track_queue_depth = 1,
.change_queue_depth = storvsc_change_queue_depth, .change_queue_depth = storvsc_change_queue_depth,