All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Pavel Dovgalyuk" <dovgaluk@ispras.ru>
To: "'Kevin Wolf'" <kwolf@redhat.com>
Cc: peter.maydell@linaro.org, pavel.dovgaluk@ispras.ru,
	crosthwaite.peter@gmail.com, ciro.santilli@gmail.com,
	jasowang@redhat.com, quintela@redhat.com, qemu-devel@nongnu.org,
	armbru@redhat.com, alex.bennee@linaro.org,
	'Pavel Dovgalyuk' <pavel.dovgaluk@gmail.com>,
	maria.klimushenkova@ispras.ru, mst@redhat.com, kraxel@redhat.com,
	boost.lists@gmail.com, thomas.dullien@googlemail.com,
	pbonzini@redhat.com, mreitz@redhat.com,
	artem.k.pisarenko@gmail.com, dgilbert@redhat.com,
	rth@twiddle.net
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	[thread overview]
Message-ID: <001501d56e06$bbd7aa30$3386fe90$@ru> (raw)
In-Reply-To: <20190918094436.GG5207@localhost.localdomain>

> From: Kevin Wolf [mailto:kwolf@redhat.com]
> Am 18.09.2019 um 11:37 hat Pavel Dovgalyuk geschrieben:
> > > From: Kevin Wolf [mailto:kwolf@redhat.com]
> > > Am 18.09.2019 um 11:22 hat Pavel Dovgalyuk geschrieben:
> > > > > From: Kevin Wolf [mailto:kwolf@redhat.com]
> > > > > Am 17.09.2019 um 13:58 hat Pavel Dovgalyuk geschrieben:
> > > > > > From: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
> > > > > >
> > > > > > This patch updates the description of the command lines for using
> > > > > > record/replay with attached block devices.
> > > > > >
> > > > > > Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
> > > > > > ---
> > > > > >  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



  reply	other threads:[~2019-09-18 10:07 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-17 11:57 [Qemu-devel] [for-4.2 PATCH 0/6] Block-related record/replay fixes Pavel Dovgalyuk
2019-09-17 11:57 ` [Qemu-devel] [for-4.2 PATCH 1/6] block: implement bdrv_snapshot_goto for blkreplay Pavel Dovgalyuk
2019-09-17 11:57 ` [Qemu-devel] [for-4.2 PATCH 2/6] replay: disable default snapshot for record/replay Pavel Dovgalyuk
2019-09-17 11:58 ` [Qemu-devel] [for-4.2 PATCH 3/6] replay: update docs for record/replay with block devices Pavel Dovgalyuk
2019-09-18  9:18   ` Kevin Wolf
2019-09-18  9:22     ` Pavel Dovgalyuk
2019-09-18  9:33       ` Kevin Wolf
2019-09-18  9:37         ` Pavel Dovgalyuk
2019-09-18  9:44           ` Kevin Wolf
2019-09-18  9:52             ` Pavel Dovgalyuk [this message]
2019-09-19  8:53               ` Kevin Wolf
2019-09-19  9:05                 ` Pavel Dovgalyuk
2019-09-19 11:27                   ` Kevin Wolf
2019-09-19 12:10                     ` Pavel Dovgalyuk
2019-09-19 13:00                       ` Kevin Wolf
2019-09-20  7:25                         ` Pavel Dovgalyuk
2019-09-20 10:01                           ` Kevin Wolf
2019-09-23  6:15                             ` Pavel Dovgalyuk
2019-09-25  9:02                             ` Pavel Dovgalyuk
2019-10-01  8:22                               ` Pavel Dovgalyuk
2019-10-10 15:28                               ` Kevin Wolf
2019-10-11  6:10                                 ` Pavel Dovgalyuk
2019-10-11  9:12                                   ` Kevin Wolf
2019-10-18 12:06                                     ` Pavel Dovgalyuk
2019-10-18 14:16                                       ` Kevin Wolf
2019-09-17 11:58 ` [Qemu-devel] [for-4.2 PATCH 4/6] replay: don't drain/flush bdrv queue while RR is working Pavel Dovgalyuk
2019-09-17 11:58 ` [Qemu-devel] [for-4.2 PATCH 5/6] replay: finish record/replay before closing the disks Pavel Dovgalyuk
2019-09-17 11:58 ` [Qemu-devel] [for-4.2 PATCH 6/6] replay: add BH oneshot event for block layer Pavel Dovgalyuk
2019-09-17 18:09 ` [Qemu-devel] [for-4.2 PATCH 0/6] Block-related record/replay fixes no-reply
2019-09-17 18:10 ` no-reply
2019-09-17 19:01 ` Alex Bennée
2019-09-18  8:26   ` Pavel Dovgalyuk
2019-09-18 10:42     ` Alex Bennée
2019-09-18 11:32       ` Pavel Dovgalyuk
2019-10-11  9:17 ` Kevin Wolf
  -- strict thread matches above, loose matches on Subject: below --
2019-07-29  6:29 [Qemu-devel] " Pavel Dovgalyuk
2019-07-29  6:29 ` [Qemu-devel] [for-4.2 PATCH 3/6] replay: update docs for record/replay with block devices Pavel Dovgalyuk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='001501d56e06$bbd7aa30$3386fe90$@ru' \
    --to=dovgaluk@ispras.ru \
    --cc=alex.bennee@linaro.org \
    --cc=armbru@redhat.com \
    --cc=artem.k.pisarenko@gmail.com \
    --cc=boost.lists@gmail.com \
    --cc=ciro.santilli@gmail.com \
    --cc=crosthwaite.peter@gmail.com \
    --cc=dgilbert@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=maria.klimushenkova@ispras.ru \
    --cc=mreitz@redhat.com \
    --cc=mst@redhat.com \
    --cc=pavel.dovgaluk@gmail.com \
    --cc=pavel.dovgaluk@ispras.ru \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=rth@twiddle.net \
    --cc=thomas.dullien@googlemail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.