[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/4] export internal snapshot by qemu-nbd
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH 0/4] export internal snapshot by qemu-nbd |
Date: |
Wed, 17 Jul 2013 17:21:49 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Am 17.07.2013 um 16:23 hat Eric Blake geschrieben:
> On 07/17/2013 08:03 AM, 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.
> >
> > This brings two interesting issues:
> > 1 is it safe to let qemu-nbd and qemu access that file at same time?
>
> Probably not, for the same reason we tell people to not use qemu-img
> while qemu is active on a file.
No, it's not. There's the built-in NBD server, but making internal
snapshots usable with it would require some non-trivial changes in the
block layer and the qcow2 code.
> > I think it is safe, since qemu-nbd is read only. The data will be correct
> > from
> > qemu-nbd, if qemu does not delete that snapshot when qemu-nbd is running,
> > and
> > data is flushed to storage after qemu take that snapshot so that qemu-nbd
> > would see the correct data.
>
> You're making assumptions that qemu won't be touching any metadata in a
> manner in which the read-only qemu-nbd could get confused; I'm not sure
> we are ready to make that guarantee. I think the export has to be from
> the running qemu process itself, rather than from a second process.
I think a while ago I convinced myself that in practice it does work,
but it's not a guarantee we're making and I won't hesitate to break the
assumption if it's helpful for some feature.
> > 2 should an nbd-server exporting internal snapshot be added in qemu?
> > I think no. Compared with driver-backup, the snapshot, or COW happens
> > in storage level, so it allows another program to read it itself. Actually
> > it should be OK to let another server other than qemu's host, do the
> > export I/O job, if data is flushed.
>
> Unfortunately, I disagree, and think the answer to this question is yes,
> we need to do the export from within the single qemu process, if we want
> to guarantee safety.
Agreed.
Kevin
- [Qemu-devel] [PATCH 0/4] export internal snapshot by qemu-nbd, Wenchao Xia, 2013/07/17
- [Qemu-devel] [PATCH 3/4] qemu-nbd: add doc for internal snapshot export, Wenchao Xia, 2013/07/17
- [Qemu-devel] [PATCH 1/4] snapshot: distinguish id and name in load_tmp, Wenchao Xia, 2013/07/17
- [Qemu-devel] [PATCH 2/4] qemu-nbd: support internal snapshot export, Wenchao Xia, 2013/07/17
- [Qemu-devel] [PATCH 4/4] qemu-iotests: add 057 internal snapshot export with qemu-nbd case, Wenchao Xia, 2013/07/17
- Re: [Qemu-devel] [PATCH 0/4] export internal snapshot by qemu-nbd, Eric Blake, 2013/07/17
- Re: [Qemu-devel] [PATCH 0/4] export internal snapshot by qemu-nbd,
Kevin Wolf <=
- Re: [Qemu-devel] [PATCH 0/4] export internal snapshot by qemu-nbd, Wenchao Xia, 2013/07/19
- Re: [Qemu-devel] [PATCH 0/4] export internal snapshot by qemu-nbd, Wenchao Xia, 2013/07/22
- Re: [Qemu-devel] [PATCH 0/4] export internal snapshot by qemu-nbd, Stefan Hajnoczi, 2013/07/18