[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] dirty-bitmap: remove unnecessary return
From: |
Jeff Cody |
Subject: |
Re: [Qemu-devel] [PATCH] dirty-bitmap: remove unnecessary return |
Date: |
Thu, 30 Jun 2016 10:00:27 -0400 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Thu, Jun 30, 2016 at 04:45:52PM +0800, Changlong Xie wrote:
> On 06/30/2016 04:25 PM, Fam Zheng wrote:
> >On Thu, 06/30 16:01, Changlong Xie wrote:
> >>Otherwise, we could never trigger assert(!bitmap->successor)
> >>
> >>Signed-off-by: Changlong Xie <address@hidden>
> >>---
> >> block/dirty-bitmap.c | 1 -
> >> 1 file changed, 1 deletion(-)
> >>
> >>diff --git a/block/dirty-bitmap.c b/block/dirty-bitmap.c
> >>index 4902ca5..e9df5ac 100644
> >>--- a/block/dirty-bitmap.c
> >>+++ b/block/dirty-bitmap.c
> >>@@ -131,7 +131,6 @@ int bdrv_dirty_bitmap_create_successor(BlockDriverState
> >>*bs,
> >> if (bdrv_dirty_bitmap_frozen(bitmap)) {
> >> error_setg(errp, "Cannot create a successor for a bitmap that is "
> >> "currently frozen");
> >>- return -1;
> >> }
> >> assert(!bitmap->successor);
> >
> >This is wrong. Then we will always trigger assert for a frozen bitmap.
> >
>
> IMO, when it's a frozen bitmap, we will always return -1. So
> "assert(!bitmap->successor)" is useless here, am i right?
>
I don't see a path where the assert could trigger, so I would agree that the
assert itself, while harmless, is not necessary (although it could be argued
it is in place in case the code above it changes in a way that does not
check bitmap->successor).
That doesn't mean we want to try and trigger an assert, however! :) The
error return is the proper error handling -- we don't expect that asserts
should ever be encountered QEMU, if one happens that is a sign of a bug.
Jeff