On Wed, Jan 23, 2019 at 10:31:39PM +0100, Christoph Hellwig wrote:
> On Wed, Jan 23, 2019 at 05:30:49PM +0100, Joerg Roedel wrote:
> > +   max_size = virtio_max_dma_size(vdev);
> > +
> >     /* Host can optionally specify maximum segment size and number of
> >      * segments. */
> >     err = virtio_cread_feature(vdev, VIRTIO_BLK_F_SIZE_MAX,
> >                                struct virtio_blk_config, size_max, &v);
> >     if (!err)
> > -           blk_queue_max_segment_size(q, v);
> > -   else
> > -           blk_queue_max_segment_size(q, -1U);
> > +           max_size = min(max_size, v);
> > +
> > +   blk_queue_max_segment_size(q, max_size);
> 
> I wonder if we should just move the dma max segment size check
> into blk_queue_max_segment_size so that all block drivers benefit
> from it.  Even if not I think at least the SCSI midlayer should
> be updated to support it.

In that case the limit would also apply to virtio-blk even if it doesn't
use the DMA-API. If that is acceptable we can move the check to
blk_queue_max_segment_size().

Regards,

        Joerg
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to