scsi: storvsc: set virt_boundary_mask in the scsi host template
authorChristoph Hellwig <hch@lst.de>
Mon, 17 Jun 2019 12:19:56 +0000 (14:19 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 17 Jul 2019 03:02:10 +0000 (23:02 -0400)
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>
drivers/scsi/storvsc_drv.c

index 5b6c0f8..559fc63 100644 (file)
@@ -1435,9 +1435,6 @@ static int storvsc_device_configure(struct scsi_device *sdevice)
 {
        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;
 
        /*
@@ -1710,6 +1707,8 @@ static struct scsi_host_template scsi_driver = {
        .this_id =              -1,
        /* Make sure we dont get a sg segment crosses a page boundary */
        .dma_boundary =         PAGE_SIZE-1,
+       /* Ensure there are no gaps in presented sgls */
+       .virt_boundary_mask =   PAGE_SIZE-1,
        .no_write_same =        1,
        .track_queue_depth =    1,
        .change_queue_depth =   storvsc_change_queue_depth,