On Wed 14 Sep 2016 06:40:29 PM CEST, Kevin Wolf wrote:
>> +    if (flags & BDRV_O_RDWR) {
>> +        flags |= BDRV_O_ALLOW_RDWR;
>> +    }
>> +
>> +    if (flags & BDRV_O_SNAPSHOT) {
>> +        snapshot_options = qdict_new();
>> +        bdrv_temp_snapshot_options(&snapshot_flags, snapshot_options,
>> +                                   flags, options);
>> +        bdrv_backing_options(&flags, options, flags, options);
>> +    }
>> +
>>      bs->open_flags = flags;
>>      bs->options = options;
>>      options = qdict_clone_shallow(options);
>
> Here I think we get different semantics now: bdrv_backing_options()
> only affected the cloned QDict before, and now it affects bs->options,
> too.

The thing is that bdrv_backing_options() doesn't change the options in
general, and in the case where it does (BDRV_OPT_READ_ONLY after the
next patch) I think it makes sense that the options are changed.
"snapshot=on" is a bit of a special case after all.

Berto

Reply via email to