[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: |
Fri, 29 Mar 2019 17:07:48 +0100 |
User-agent: |
Notmuch/0.18.2 (http://notmuchmail.org) Emacs/24.4.1 (i586-pc-linux-gnu) |
On Fri 29 Mar 2019 02:29:14 PM CET, Andrey Shinkevich 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?
Berto