[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL for-2.7 06/25] iscsi: Rely on block layer to break up
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PULL for-2.7 06/25] iscsi: Rely on block layer to break up large requests |
Date: |
Tue, 19 Jul 2016 19:47:56 +0100 |
From: Eric Blake <address@hidden>
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 <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Acked-by: Paolo Bonzini <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
---
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 &&
--
2.7.4
- [Qemu-devel] [PULL for-2.7 00/25] Block patches, Stefan Hajnoczi, 2016/07/19
- [Qemu-devel] [PULL for-2.7 01/25] block: Fragment reads to max transfer length, Stefan Hajnoczi, 2016/07/19
- [Qemu-devel] [PULL for-2.7 02/25] raw_bsd: Don't advertise flags not supported by protocol layer, Stefan Hajnoczi, 2016/07/19
- [Qemu-devel] [PULL for-2.7 04/25] nbd: Rely on block layer to break up large requests, Stefan Hajnoczi, 2016/07/19
- [Qemu-devel] [PULL for-2.7 03/25] block: Fragment writes to max transfer length, Stefan Hajnoczi, 2016/07/19
- [Qemu-devel] [PULL for-2.7 05/25] nbd: Drop unused offset parameter, Stefan Hajnoczi, 2016/07/19
- [Qemu-devel] [PULL for-2.7 06/25] iscsi: Rely on block layer to break up large requests,
Stefan Hajnoczi <=
- [Qemu-devel] [PULL for-2.7 07/25] block: Convert bdrv_co_discard() to byte-based, Stefan Hajnoczi, 2016/07/19
- [Qemu-devel] [PULL for-2.7 08/25] block: Convert bdrv_discard() to byte-based, Stefan Hajnoczi, 2016/07/19
- [Qemu-devel] [PULL for-2.7 09/25] block: Switch BlockRequest to byte-based, Stefan Hajnoczi, 2016/07/19
- [Qemu-devel] [PULL for-2.7 10/25] block: Convert bdrv_aio_discard() to byte-based, Stefan Hajnoczi, 2016/07/19
- [Qemu-devel] [PULL for-2.7 11/25] block: Convert BB interface to byte-based discards, Stefan Hajnoczi, 2016/07/19
- [Qemu-devel] [PULL for-2.7 12/25] raw-posix: Switch paio_submit() to byte-based, Stefan Hajnoczi, 2016/07/19
- [Qemu-devel] [PULL for-2.7 13/25] rbd: Switch rbd_start_aio() to byte-based, Stefan Hajnoczi, 2016/07/19
- [Qemu-devel] [PULL for-2.7 14/25] block: Convert .bdrv_aio_discard() to byte-based, Stefan Hajnoczi, 2016/07/19
- [Qemu-devel] [PULL for-2.7 15/25] block: Add .bdrv_co_pdiscard() driver callback, Stefan Hajnoczi, 2016/07/19
- [Qemu-devel] [PULL for-2.7 16/25] blkreplay: Switch .bdrv_co_discard() to byte-based, Stefan Hajnoczi, 2016/07/19