qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-block] [PATCH v3] fixup! iscsi: Fix divide-by-zero regression on r


From: Eric Blake
Subject: [Qemu-block] [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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]