[keep original commit message] Reported-by: Holger Schranz <hol...@fam-schranz.de> Signed-off-by: Eric Blake <ebl...@redhat.com> CC: qemu-sta...@nongnu.org
--- Paolo just sent a pull request, but if I'm not too late, this should be squashed in. If I am too late, then we can rework the commit message to make it this is an obvious followup. v3: preserve 4k iscsilun->block_size v2: avoid second assertion failure --- block/iscsi.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/block/iscsi.c b/block/iscsi.c index c01e955..7bb6e5d 100644 --- a/block/iscsi.c +++ b/block/iscsi.c @@ -1813,10 +1813,14 @@ static void iscsi_refresh_limits(BlockDriverState *bs, Error **errp) IscsiLun *iscsilun = bs->opaque; uint64_t max_xfer_len = iscsilun->use_16_for_rw ? 0xffffffff : 0xffff; - unsigned int block_size = MIN_NON_ZERO(BDRV_SECTOR_SIZE, - iscsilun->block_size); + unsigned int block_size = iscsilun->block_size; - assert(iscsilun->block_size >= BDRV_SECTOR_SIZE || bs->sg); + if (!block_size) { + assert(bs->sg); + block_size = BDRV_SECTOR_SIZE; + } else { + assert(block_size >= BDRV_SECTOR_SIZE); + } bs->bl.request_alignment = block_size; -- 2.7.4