On Wed 14 Sep 2016 08:54:19 PM CEST, Jeff Cody wrote:
>> If an image is opened with snapshot=on, its flags are modified by
>> bdrv_backing_options() and then bs->open_flags is updated accordingly.
>> This last step is unnecessary if we calculate the new flags before
>> setting bs->open_flags.
>> Soon we'll introduce the "read-only" option, and then we'll need to be
>> able to modify its value in the QDict when snapshot=on. This is more
>> cumbersome if bs->options is already set. This patch simplifies that.
>> The code that sets BDRV_O_ALLOW_RDWR is also moved for the same
> Before, we would not set BDRV_O_ALLOW_RDWR for protocols, but this
> will change that. Is that side-affect intentional?
BDRV_O_ALLOW_RDWR is set in the root BDS, and then all children inherit
that flag (both bdrv_inherited_options() and bdrv_backing_options() copy
it), so I don't think the ((flags & BDRV_O_PROTOCOL) == 0) check makes
any difference in practice.