On 05/26/2017 11:11 AM, Kevin Wolf wrote:
Am 19.05.2017 um 11:34 hat Anton Nefedov geschrieben:
Qcow2State and BlockDriverState flags have to be in sync

Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com>
---
  block/qcow2.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/block/qcow2.c b/block/qcow2.c
index 6e7ce96..07c1706 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -1939,6 +1939,7 @@ static int qcow2_inactivate(BlockDriverState *bs)
if (result == 0) {
          qcow2_mark_clean(bs);
+        s->flags |= BDRV_O_INACTIVE;
      }

Good catch.

But can't we simply use bs->open_flags and completely get rid of
s->flags?

Kevin


the problem is that qcow2_close() or qcow2_inactivate() have to
consider the flags that the image was opened with,
but bs->open_flags (at least in invalidate_cache() case) at that point
contain the new flags already

/Anton

Reply via email to