[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/3] block: Support streaming to an intermediate
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH 1/3] block: Support streaming to an intermediate layer |
Date: |
Thu, 5 Mar 2015 16:15:52 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Am 05.03.2015 um 15:58 hat Alberto Garcia geschrieben:
> On Thu, Mar 05, 2015 at 03:04:25PM +0100, Kevin Wolf wrote:
>
> > The bs parameter is now only used for the following things:
> >
> > 1. As the default for top
>
> Right.
>
> > 2. For error handling: Any errors are reported for bs, even though
> > they are actually for top. Is this correct behaviour? It looks
> > questionable to me.
>
> Hmm... I guess you mean when calling block_job_error_action(), I
> probably overlooked that.
Yes, that and the check whether iostatus is enabled.
> > 3. As the BDS that owns the job
> >
> > My question is whether we can't simply call stream_start() with an
> > intermediate node as bs instead of introducing a new parameter. I'm
> > not completely sure about the consequences of 3., i.e. moving
> > ownership of a block job to some BDS somewhere down the chain, but
> > otherwise it should be possible and seems cleaner.
>
> We can, that was actually the first thing I tried and it does work,
> but then I noticed that other parts of the code would need changes,
> e.g. qmp_query_block_jobs() must be modified to iterate over all nodes
> of each device.
>
> Since I was also not sure about the consequences of such a change I
> opted for the conservative approach.
I see. I'm worried about the external API. If we let the root node own
the job, we may paint ourselves into a corner with respect to nodes with
multiple users and therefore multiple possible root nodes.
Kevin