[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [for-4.2 PATCH 3/6] replay: update docs for record/repl
From: |
Pavel Dovgalyuk |
Subject: |
Re: [Qemu-devel] [for-4.2 PATCH 3/6] replay: update docs for record/replay with block devices |
Date: |
Wed, 18 Sep 2019 12:52:07 +0300 |
> From: Kevin Wolf [mailto:address@hidden]
> Am 18.09.2019 um 11:37 hat Pavel Dovgalyuk geschrieben:
> > > From: Kevin Wolf [mailto:address@hidden]
> > > Am 18.09.2019 um 11:22 hat Pavel Dovgalyuk geschrieben:
> > > > > From: Kevin Wolf [mailto:address@hidden]
> > > > > Am 17.09.2019 um 13:58 hat Pavel Dovgalyuk geschrieben:
> > > > > > From: Pavel Dovgalyuk <address@hidden>
> > > > > >
> > > > > > This patch updates the description of the command lines for using
> > > > > > record/replay with attached block devices.
> > > > > >
> > > > > > Signed-off-by: Pavel Dovgalyuk <address@hidden>
> > > > > > ---
> > > > > > docs/replay.txt | 12 +++++++++---
> > > > > > 1 file changed, 9 insertions(+), 3 deletions(-)
> > > > > >
> > > > > > diff --git a/docs/replay.txt b/docs/replay.txt
> > > > > > index ee6aee9861..ce97c3f72f 100644
> > > > > > --- a/docs/replay.txt
> > > > > > +++ b/docs/replay.txt
> > > > > > @@ -27,7 +27,7 @@ Usage of the record/replay:
> > > > > > * First, record the execution with the following command line:
> > > > > > qemu-system-i386 \
> > > > > > -icount shift=7,rr=record,rrfile=replay.bin \
> > > > > > - -drive file=disk.qcow2,if=none,id=img-direct \
> > > > > > + -drive file=disk.qcow2,if=none,snapshot,id=img-direct \
> > > > > > -drive
> > > > > > driver=blkreplay,if=none,image=img-direct,id=img-blkreplay \
> > > > > > -device ide-hd,drive=img-blkreplay \
> > > > > > -netdev user,id=net1 -device rtl8139,netdev=net1 \
> > > > > > @@ -35,7 +35,7 @@ Usage of the record/replay:
> > > > > > * After recording, you can replay it by using another command
> > > > > > line:
> > > > > > qemu-system-i386 \
> > > > > > -icount shift=7,rr=replay,rrfile=replay.bin \
> > > > > > - -drive file=disk.qcow2,if=none,id=img-direct \
> > > > > > + -drive file=disk.qcow2,if=none,snapshot,id=img-direct \
> > > > > > -drive
> > > > > > driver=blkreplay,if=none,image=img-direct,id=img-blkreplay \
> > > > > > -device ide-hd,drive=img-blkreplay \
> > > > > > -netdev user,id=net1 -device rtl8139,netdev=net1 \
> > > > > > @@ -223,7 +223,7 @@ Block devices record/replay module intercepts
> > > > > > calls of
> > > > > > bdrv coroutine functions at the top of block drivers stack.
> > > > > > To record and replay block operations the drive must be configured
> > > > > > as following:
> > > > > > - -drive file=disk.qcow2,if=none,id=img-direct
> > > > > > + -drive file=disk.qcow2,if=none,snapshot,id=img-direct
> > > > > > -drive driver=blkreplay,if=none,image=img-direct,id=img-blkreplay
> > > > > > -device ide-hd,drive=img-blkreplay
> > > > > >
> > > > > > @@ -252,6 +252,12 @@ This snapshot is created at start of recording
> > > > > > and restored at
> > > start
> > > > > > of replaying. It also can be loaded while replaying to roll back
> > > > > > the execution.
> > > > > >
> > > > > > +'snapshot' flag of the disk image must be removed to save the
> > > > > > snapshots
> > > > > > +in the overlay (or original image) instead of using the temporary
> > > > > > overlay.
> > > > > > + -drive file=disk.ovl,if=none,id=img-direct
> > > > > > + -drive driver=blkreplay,if=none,image=img-direct,id=img-blkreplay
> > > > > > + -device ide-hd,drive=img-blkreplay
> > > > >
> > > > > Wait, didn't patch 2 just make -snapshot unconditionally incompatible
> > > > > with replay? So isn't saving the snapshot in the original image the
> > > > > only
> > > > > supported mode now?
> > > >
> > > > There are two ways to run record/replay:
> > > > 1. Disk with snapshot option and any image to make it unchanged
> > > > 2. Disk with overlay without snapshot option to save VM snapshots on it
> > >
> > > Yes, I think I understand the two options that you intend to make
> > > available, but when -snapshot sets a replay blocker, how can 1. still
> > > work? Is there some code that ignores replay blockers?
> >
> > I checked the text and don't see anything about global "-snapshot" option.
> > All references are about drive snapshot flag.
> > Can you point me where did I missed that?
>
> Oh, sorry, you're right and I misread.
>
> However, global -snapshot is just a convenient shortcut for specifying
> snapshot=on for all -drive arguments. So if -snapshot is incompatible
> with replay, shouldn't manually marking all drives as snapshot=on be
> incompatible as well?
>
> Maybe you're really interested in some specific drive not having
> snapshot=on? But then it might be better to check that specific drive
> instad of forbidding just the shortcut for setting it.
-snapshot adds the flag for top-level drive, making driver operations
dependent on temporary file structure.
Moving this overlay beneath blkreplay driver makes drive operations
deterministic for the top-level device.
Pavel Dovgalyuk
- [Qemu-devel] [for-4.2 PATCH 0/6] Block-related record/replay fixes, Pavel Dovgalyuk, 2019/09/17
- [Qemu-devel] [for-4.2 PATCH 1/6] block: implement bdrv_snapshot_goto for blkreplay, Pavel Dovgalyuk, 2019/09/17
- [Qemu-devel] [for-4.2 PATCH 2/6] replay: disable default snapshot for record/replay, Pavel Dovgalyuk, 2019/09/17
- [Qemu-devel] [for-4.2 PATCH 3/6] replay: update docs for record/replay with block devices, Pavel Dovgalyuk, 2019/09/17
- Re: [Qemu-devel] [for-4.2 PATCH 3/6] replay: update docs for record/replay with block devices, Kevin Wolf, 2019/09/18
- Re: [Qemu-devel] [for-4.2 PATCH 3/6] replay: update docs for record/replay with block devices, Pavel Dovgalyuk, 2019/09/18
- Re: [Qemu-devel] [for-4.2 PATCH 3/6] replay: update docs for record/replay with block devices, Kevin Wolf, 2019/09/18
- Re: [Qemu-devel] [for-4.2 PATCH 3/6] replay: update docs for record/replay with block devices, Pavel Dovgalyuk, 2019/09/18
- Re: [Qemu-devel] [for-4.2 PATCH 3/6] replay: update docs for record/replay with block devices, Kevin Wolf, 2019/09/18
- Re: [Qemu-devel] [for-4.2 PATCH 3/6] replay: update docs for record/replay with block devices,
Pavel Dovgalyuk <=
- Re: [Qemu-devel] [for-4.2 PATCH 3/6] replay: update docs for record/replay with block devices, Kevin Wolf, 2019/09/19
- Re: [Qemu-devel] [for-4.2 PATCH 3/6] replay: update docs for record/replay with block devices, Pavel Dovgalyuk, 2019/09/19
- Re: [Qemu-devel] [for-4.2 PATCH 3/6] replay: update docs for record/replay with block devices, Kevin Wolf, 2019/09/19
- Re: [Qemu-devel] [for-4.2 PATCH 3/6] replay: update docs for record/replay with block devices, Pavel Dovgalyuk, 2019/09/19
- Re: [Qemu-devel] [for-4.2 PATCH 3/6] replay: update docs for record/replay with block devices, Kevin Wolf, 2019/09/19
- RE: [for-4.2 PATCH 3/6] replay: update docs for record/replay with block devices, Pavel Dovgalyuk, 2019/09/20
- Re: [for-4.2 PATCH 3/6] replay: update docs for record/replay with block devices, Kevin Wolf, 2019/09/20
- RE: [for-4.2 PATCH 3/6] replay: update docs for record/replay with block devices, Pavel Dovgalyuk, 2019/09/23
- RE: [for-4.2 PATCH 3/6] replay: update docs for record/replay with block devices, Pavel Dovgalyuk, 2019/09/25
- [Qemu-devel] [for-4.2 PATCH 4/6] replay: don't drain/flush bdrv queue while RR is working, Pavel Dovgalyuk, 2019/09/17