|
From: | Wenchao Xia |
Subject: | Re: [Qemu-devel] [PATCH 0/4] export internal snapshot by qemu-nbd |
Date: | Fri, 19 Jul 2013 18:02:29 +0800 |
User-agent: | Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20130620 Thunderbird/17.0.7 |
于 2013-7-19 17:19, Kevin Wolf 写道:
Am 19.07.2013 um 11:03 hat Wenchao Xia geschrieben:于 2013-7-18 13:43, Stefan Hajnoczi 写道:On Wed, Jul 17, 2013 at 10:03:51PM +0800, Wenchao Xia wrote:This series allow user to read internal snapshot's contents without qemu-img convert. Another purpose is that, when qemu is online and have taken an internal snapshot, let user invoke qemu-nbd to do any thing on it except write.I agree with Eric and Kevin that we cannot access image files while QEMU has them open. A bit more detail about using the run-time NBD server to do this safely: Internal snapshots are not first-class block layer objects today. They are not BlockDriverStates, instead you must access their data through bdrv_snapshot_goto() or bdrv_snapshot_load_tmp().Also cc to Fam Zheng an Kevin: I think BlockDriverStates modification, is based on a more basic question: does qcow2's data structure on disk, allow multiple snapshot reader, while one active writer, without lock? I think the modification showed above, already said "yes" to this question.What exactly do you mean by "without lock"?
I mean read of old snapshot and write on qcow2 except snapshot operation, can happen in same time, without a mutex in qemu.
But yes, there's no fundamental problem in the format specification that would make it impossible to write a driver that accesses multiple snapshots at the same time from the same qemu process. (Even r/w in theory, though we're treating snapshots as immutable traditionally.)
What about one writer process and one snapshot reader process? I think it works if manager forbid snapshot operation in writer process. It works with a rule: "only snapshot operation and * operation, would change the data on disk, which is used by reading pre-existing snapshots". I know in principle, one process owning one image, make things clear, but this can leverage internal snapshot as easy to use as external ones.
Kevin
-- Best Regards Wenchao Xia
[Prev in Thread] | Current Thread | [Next in Thread] |