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