On 15/07/2016 20:32, Eric Blake wrote: > Now that the block layer honors max_request, we don't need to > bother with an EINVAL on overlarge requests, but can instead > assert that requests are well-behaved. > > Signed-off-by: Eric Blake <ebl...@redhat.com> > Reviewed-by: Fam Zheng <f...@redhat.com> > Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> > --- > block/iscsi.c | 14 ++++---------- > 1 file changed, 4 insertions(+), 10 deletions(-) > > diff --git a/block/iscsi.c b/block/iscsi.c > index cf1e9e7..bdc7ade 100644 > --- a/block/iscsi.c > +++ b/block/iscsi.c > @@ -472,11 +472,8 @@ iscsi_co_writev_flags(BlockDriverState *bs, int64_t > sector_num, int nb_sectors, > return -EINVAL; > } > > - if (bs->bl.max_transfer && > - nb_sectors << BDRV_SECTOR_BITS > bs->bl.max_transfer) { > - error_report("iSCSI Error: Write of %d sectors exceeds max_xfer_len " > - "of %" PRIu32 " bytes", nb_sectors, > bs->bl.max_transfer); > - return -EINVAL; > + if (bs->bl.max_transfer) { > + assert(nb_sectors << BDRV_SECTOR_BITS <= bs->bl.max_transfer); > } > > lba = sector_qemu2lun(sector_num, iscsilun); > @@ -650,11 +647,8 @@ static int coroutine_fn iscsi_co_readv(BlockDriverState > *bs, > return -EINVAL; > } > > - if (bs->bl.max_transfer && > - nb_sectors << BDRV_SECTOR_BITS > bs->bl.max_transfer) { > - error_report("iSCSI Error: Read of %d sectors exceeds max_xfer_len " > - "of %" PRIu32 " bytes", nb_sectors, > bs->bl.max_transfer); > - return -EINVAL; > + if (bs->bl.max_transfer) { > + assert(nb_sectors << BDRV_SECTOR_BITS <= bs->bl.max_transfer); > } > > if (iscsilun->lbprz && nb_sectors >= ISCSI_CHECKALLOC_THRES && >
Acked-by: Paolo Bonzini <pbonz...@redhat.com>