On Wed, Aug 23, 2017 at 09:42:42PM +0800, Fam Zheng wrote: > From: Stefan Hajnoczi <stefa...@redhat.com> > > In the ->inactivate() callbacks, permissions are updated, which > typically involves a recursive check of the whole graph. Setting > BDRV_O_INACTIVE right before doing that creates a state that > bdrv_is_writable() returns false, which causes permission update > failure. > > Reorder them so the flag is updated after calling the function. Note > that this doesn't break the assert in bdrv_child_cb_inactivate() because > for any specific BDS, we still update its flags first before calling > ->inactivate() on it one level deeper in the recursion. > > Signed-off-by: Fam Zheng <f...@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com>