On 02/14/2017 07:05 AM, Vladimir Sementsov-Ogievskiy wrote:
> 11.02.2017 02:20, John Snow wrote:
>> On 02/03/2017 04:40 AM, Vladimir Sementsov-Ogievskiy wrote:
>>> +void bdrv_store_persistent_dirty_bitmaps(BlockDriverState *bs, Error
>>> **errp)
>>> +{
>>> + BlockDriver *drv = bs->drv;
>>> +
>>> + if (!bdrv_has_persistent_bitmaps(bs)) {
>>> + return;
>>> + }
>>> +
>>> + if (!drv) {
>>> + error_setg_errno(errp, ENOMEDIUM,
>>> + "Can't store persistent bitmaps to %s",
>>> + bdrv_get_device_or_node_name(bs));
>>> + return;
>>> + }
>>> +
>>> + if (!drv->bdrv_store_persistent_dirty_bitmaps) {
>>> + error_setg_errno(errp, ENOTSUP,
>>> + "Can't store persistent bitmaps to %s",
>>> + bdrv_get_device_or_node_name(bs));
>>> + return;
>>> + }
>>> +
>> I suppose this is for the case for where we have added a persistent
>> bitmap during runtime, but the driver does not support it?
>>
>> I'd rather fail this type of thing earlier if possible, but I'm not that
>> far in your series yet.
>
> qmp bitmap add checks for availability of
> drv->bdrv_can_store_new_dirty_bitmap,
> and loaded bitmaps of course should be attached to bds with appropriate
> driver.
> So, it is mostly a paranoic check.
>
OK, understood. Not a problem, then.
--js