[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-stable] [PATCH v3] fixup! iscsi: Fix divide-by-zero regression on
From: |
Eric Blake |
Subject: |
[Qemu-stable] [PATCH v3] fixup! iscsi: Fix divide-by-zero regression on raw SG devices |
Date: |
Thu, 22 Sep 2016 12:38:53 -0500 |
[keep original commit message]
Reported-by: Holger Schranz <address@hidden>
Signed-off-by: Eric Blake <address@hidden>
CC: address@hidden
---
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
- [Qemu-stable] [PATCH v3] fixup! iscsi: Fix divide-by-zero regression on raw SG devices,
Eric Blake <=