On Wed, Mar 21, 2012 at 3:52 PM, Benoît Canet <benoit.ca...@gmail.com> wrote:
> The QED image is reopened to flush metadata and check consistency.
>
> Signed-off-by: Benoit Canet <benoit.ca...@gmail.com>
> ---
>  block/qed.c |   15 +++++++++++++++
>  block/qed.h |    1 +
>  2 files changed, 16 insertions(+), 0 deletions(-)
>
> diff --git a/block/qed.c b/block/qed.c
> index a041d31..c47272c 100644
> --- a/block/qed.c
> +++ b/block/qed.c
> @@ -375,6 +375,10 @@ static int bdrv_qed_open(BlockDriverState *bs, int flags)
>     int ret;
>
>     s->bs = bs;
> +
> +    /* backup flags for bdrv_qed_invalidate_cache */
> +    s->flags = flags;

It's not clear to me why we need to introduce this field to stash
flags values.  bs->open_flags already has this information.

Originally this was introduced in 06d9260ffa9 ("qcow2: implement
bdrv_invalidate_cache (v2)") for qcow2.  I wonder if that field is
necessary when we already have bs->open_flags.

What I don't like about s->flags is that it duplicates state *and*
it's done in each block driver that supports .bdrv_invalidate_cache().
 So I wonder if we can drop it?

Stefan

Reply via email to