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