Message ID | 1495186480-114192-6-git-send-email-anton.nefedov@virtuozzo.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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.nefedov@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
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.nefedov@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
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; } return result;
Qcow2State and BlockDriverState flags have to be in sync Signed-off-by: Anton Nefedov <anton.nefedov@virtuozzo.com> --- block/qcow2.c | 1 + 1 file changed, 1 insertion(+)