qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] dirty-bitmap: remove unnecessary return


From: John Snow
Subject: Re: [Qemu-devel] [PATCH] dirty-bitmap: remove unnecessary return
Date: Thu, 30 Jun 2016 14:18:14 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1


On 06/30/2016 10:00 AM, Jeff Cody wrote:
> 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
> 

The assert was indeed added to ensure that if the valid states of the
bitmap later expanded or changed, that the status checkers (e.g.
bdrv_dirty_bitmap_frozen()) were changed to match.



reply via email to

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