[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/3] block/stream: introduce a bottom node
From: |
Alberto Garcia |
Subject: |
Re: [Qemu-devel] [PATCH 3/3] block/stream: introduce a bottom node |
Date: |
Mon, 01 Apr 2019 17:44:11 +0200 |
User-agent: |
Notmuch/0.18.2 (http://notmuchmail.org) Emacs/24.4.1 (i586-pc-linux-gnu) |
On Fri 29 Mar 2019 05:15:43 PM CET, Vladimir Sementsov-Ogievskiy wrote:
>>> @@ -3237,7 +3238,14 @@ void qmp_block_stream(bool has_job_id, const char
>>> *job_id, const char *device,
>>> job_flags |= JOB_MANUAL_DISMISS;
>>> }
>>>
>>> - stream_start(has_job_id ? job_id : NULL, bs, base_bs, base_name,
>>> + /* Find the bottom node that has the base as its backing image */
>>> + bottom_node = bs;
>>> + while ((iter = backing_bs(bottom_node)) != base_bs) {
>>> + bottom_node = iter;
>>> + }
>>> + assert(bottom_node);
>>> +
>>> + stream_start(has_job_id ? job_id : NULL, bs, bottom_node, base_name,
>>> job_flags, has_speed ? speed : 0, on_error, &local_err);
>>
>> Isn't it simpler to pass 'base' to stream_start() and find the bottom
>> node there? (with bdrv_find_overlay()).
>>
>> I think bottom should be an internal implementation detail of the
>> block-stream driver, callers don't need to know about it, or do they?
>>
> My idea is that we should get rid of base before any yield, and better
> do it as soon as possible.
But you can do it at the beginning of stream_start() without exposing
'bottom' to the callers which, again, is an implementation detail.
Berto
- Re: [Qemu-devel] [PATCH 3/3] block/stream: introduce a bottom node,
Alberto Garcia <=