[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
- [Qemu-devel] loading bitmaps in invalidate_cache fails,
Vladimir Sementsov-Ogievskiy <=