qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] loading bitmaps in invalidate_cache fails


From: Vladimir Sementsov-Ogievskiy
Subject: [Qemu-devel] loading bitmaps in invalidate_cache fails
Date: Mon, 11 Sep 2017 19:51:00 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0

Hi Kevin!

I'm confused with relations of permissions and invalidation, can you please help?

Now dirty bitmaps are loaded in invalidate_cache. Here is a problem with migration:

1. destination starts (inactive)

2. load bitmaps readonly

...

3. invalidate_cache: here we should make our loaded bitmaps RW, ie set BdrvDirtyBitmap->readonly

  to false and set IN_USE bit in the image. But the latter goes into "bdrv_aligned_pwritev: Assertion `child->perm & BLK_PERM_WRITE' failed",

  because in bdrv_invalidate_cache we call bdrv_set_perm after drv->bdrv_invalidate_cache.


What is the true way of fixing this?


PS: actually current code calls qcow2_load_autoloading_dirty_bitmaps in (3.) instead of qcow2_reopen_bitmaps_rw, which leads to

"Bitmap already exists" error - it's a bug which I am now fixing.


--
Best regards,
Vladimir




reply via email to

[Prev in Thread] Current Thread [Next in Thread]