On Mon 08 Apr 2019 08:17:37 PM CEST, Andrey Shinkevich wrote:
>>> +for (iter = bs; iter != bottom; iter = backing_bs(iter)) {
>>> +block_job_add_bdrv(&s->common, "intermediate node",
>>> backing_bs(iter),
>>> + 0, basic_flags, &error_abort);
>>> }
>>
>>
On 08/04/2019 18:39, Alberto Garcia wrote:
> On Fri 05 Apr 2019 06:56:19 PM CEST, Andrey Shinkevich wrote:
>> @@ -232,8 +232,13 @@ void stream_start(const char *job_id, BlockDriverState
>> *bs,
>> StreamBlockJob *s;
>> BlockDriverState *iter;
>> bool bs_read_only;
>> +Block
On 08/04/2019 18:39, Alberto Garcia wrote:
> On Fri 05 Apr 2019 06:56:19 PM CEST, Andrey Shinkevich wrote:
>> @@ -232,8 +232,13 @@ void stream_start(const char *job_id, BlockDriverState
>> *bs,
>> StreamBlockJob *s;
>> BlockDriverState *iter;
>> bool bs_read_only;
>> +Block
On Fri 05 Apr 2019 06:56:19 PM CEST, Andrey Shinkevich wrote:
> @@ -232,8 +232,13 @@ void stream_start(const char *job_id, BlockDriverState
> *bs,
> StreamBlockJob *s;
> BlockDriverState *iter;
> bool bs_read_only;
> +BlockDriverState *bottom = NULL;
> +int basic_flags = BLK
05.04.2019 19:56, Andrey Shinkevich wrote:
> The bottom node is the intermediate block device that has the base as its
> backing image. It is used instead of the base node while a block stream
> job is running to avoid dependency on the base that may change due to the
> parallel jobs. The change ma
The bottom node is the intermediate block device that has the base as its
backing image. It is used instead of the base node while a block stream
job is running to avoid dependency on the base that may change due to the
parallel jobs. The change may take place due to a filter node as well that
is i