Blame SOURCES/kvm-nbd-server-Fix-dirty-bitmap-logic-regression.patch

1bdc94
From 05a40305eb495ff14c9bfcb1aa94c168b54d79ce Mon Sep 17 00:00:00 2001
1bdc94
From: John Snow <jsnow@redhat.com>
1bdc94
Date: Wed, 18 Jul 2018 22:55:08 +0200
1bdc94
Subject: [PATCH 83/89] nbd/server: Fix dirty bitmap logic regression
1bdc94
1bdc94
RH-Author: John Snow <jsnow@redhat.com>
1bdc94
Message-id: <20180718225511.14878-33-jsnow@redhat.com>
1bdc94
Patchwork-id: 81427
1bdc94
O-Subject: [RHEL-7.6 qemu-kvm-rhev PATCH 32/35] nbd/server: Fix dirty bitmap logic regression
1bdc94
Bugzilla: 1207657
1bdc94
RH-Acked-by: Eric Blake <eblake@redhat.com>
1bdc94
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
1bdc94
RH-Acked-by: Fam Zheng <famz@redhat.com>
1bdc94
1bdc94
From: Eric Blake <eblake@redhat.com>
1bdc94
1bdc94
In my hurry to fix a build failure, I introduced a logic bug.
1bdc94
The assertion conditional is backwards, meaning that qemu will
1bdc94
now abort instead of reporting dirty bitmap status.
1bdc94
1bdc94
The bug can only be tickled by an NBD client using an exported
1bdc94
dirty bitmap (which is still an experimental QMP command), so
1bdc94
it's not the end of the world for supported usage (and neither
1bdc94
'make check' nor qemu-iotests fails); but it also shows that we
1bdc94
really want qemu-io support for reading dirty bitmaps if only
1bdc94
so that I can add iotests coverage to prevent future
1bdc94
brown-bag-of-shame events like this one.
1bdc94
1bdc94
Fixes: 45eb6fb6
1bdc94
Signed-off-by: Eric Blake <eblake@redhat.com>
1bdc94
Message-Id: <20180622153509.375130-1-eblake@redhat.com>
1bdc94
(cherry picked from commit 7606c99a0421be7e9d984766fe239f7791a2fd9c)
1bdc94
Signed-off-by: John Snow <jsnow@redhat.com>
1bdc94
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
1bdc94
---
1bdc94
 nbd/server.c | 2 +-
1bdc94
 1 file changed, 1 insertion(+), 1 deletion(-)
1bdc94
1bdc94
diff --git a/nbd/server.c b/nbd/server.c
1bdc94
index 50ac8bf..e52b76b 100644
1bdc94
--- a/nbd/server.c
1bdc94
+++ b/nbd/server.c
1bdc94
@@ -1977,7 +1977,7 @@ static unsigned int bitmap_to_extents(BdrvDirtyBitmap *bitmap, uint64_t offset,
1bdc94
 
1bdc94
     bdrv_dirty_bitmap_unlock(bitmap);
1bdc94
 
1bdc94
-    assert(offset > end);
1bdc94
+    assert(offset < end);
1bdc94
     *length = end - offset;
1bdc94
     return i;
1bdc94
 }
1bdc94
-- 
1bdc94
1.8.3.1
1bdc94