[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH v3] fixup! iscsi: Fix divide-by-zero regression
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-block] [PATCH v3] fixup! iscsi: Fix divide-by-zero regression on raw SG devices |
Date: |
Thu, 22 Sep 2016 20:30:23 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 |
> 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.
I just replaced MIN_NON_ZERO with MAX.
Paolo
> 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;
>