[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC] Intermediate block mirroring
From: |
Alberto Garcia |
Subject: |
[Qemu-devel] [RFC] Intermediate block mirroring |
Date: |
Thu, 12 Apr 2018 19:07:11 +0200 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
Hello,
I mentioned this some time ago, but I'd like to retake it now: I'm
checking how to copy arbitrary nodes on a backing chain, so if I have
e.g.
[A] <- [B] <- [C] <- [D]
I'd like to end up with
[A] <- [E] <- [C] <- [D]
where [E] is a copy of [B]. The most obvious use case is to move [B]
to a different storage backend.
At the moment we can already copy [B] into [E] (outside QEMU) and then
do
change-backing-file device=[D] image-node-name=[C] backing-file=[E]
However this only changes the image on disk and the bs->backing_file
string in memory. QEMU keeps using the [B] BlockDriverState, and we
need to make it switch to [E].
One possible way to do this would be to modify blockdev-mirror so the
source image can be located anywhere on a chain. Currently there's
bs->backing_blocker preventing that, plus qmp_blockdev_mirror()
refuses to take any non-root source node. Other than permission
changes I don't think the algorithm itself needs any additional
modification, although I suppose we'd like to change the backing file
as part of the same job, and that would require API changes.
One other way is to have a more generic replace-node command which
would call bdrv_replace_node(), but I don't know if we want to expose
that and I don't have any other use case for it at the moment.
Opinions, comments?
Berto
- [Qemu-devel] [RFC] Intermediate block mirroring,
Alberto Garcia <=
- Re: [Qemu-devel] [RFC] Intermediate block mirroring, Max Reitz, 2018/04/13
- Re: [Qemu-devel] [RFC] Intermediate block mirroring, Alberto Garcia, 2018/04/16
- Re: [Qemu-devel] [RFC] Intermediate block mirroring, Max Reitz, 2018/04/16
- Re: [Qemu-devel] [RFC] Intermediate block mirroring, Alberto Garcia, 2018/04/18
- Re: [Qemu-devel] [RFC] Intermediate block mirroring, Max Reitz, 2018/04/20
- Re: [Qemu-devel] [RFC] Intermediate block mirroring, Alberto Garcia, 2018/04/25
- Re: [Qemu-devel] [RFC] Intermediate block mirroring, Max Reitz, 2018/04/25
- Re: [Qemu-devel] [RFC] Intermediate block mirroring, Alberto Garcia, 2018/04/25
- Re: [Qemu-devel] [RFC] Intermediate block mirroring, Max Reitz, 2018/04/25