On Wed, Mar 21, 2012 at 3:52 PM, Benoît Canet <[email protected]> wrote:
> The QED image is reopened to flush metadata and check consistency.
>
> Signed-off-by: Benoit Canet <[email protected]>
> ---
> 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