Re: [Qemu-devel] [PATCH v3 3/3] block/stream: introduce a bottom node

2019-04-09 Thread Alberto Garcia
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); >>> } >> >>

Re: [Qemu-devel] [PATCH v3 3/3] block/stream: introduce a bottom node

2019-04-08 Thread Andrey Shinkevich
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

Re: [Qemu-devel] [PATCH v3 3/3] block/stream: introduce a bottom node

2019-04-08 Thread Andrey Shinkevich
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

Re: [Qemu-devel] [PATCH v3 3/3] block/stream: introduce a bottom node

2019-04-08 Thread Alberto Garcia
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

Re: [Qemu-devel] [PATCH v3 3/3] block/stream: introduce a bottom node

2019-04-08 Thread Vladimir Sementsov-Ogievskiy
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

[Qemu-devel] [PATCH v3 3/3] block/stream: introduce a bottom node

2019-04-05 Thread Andrey Shinkevich
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