From: Kevin Wolf <kwolf@redhat.com>
To: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Cc: John Snow <jsnow@redhat.com>, qemu-devel <qemu-devel@nongnu.org>,
qemu block <qemu-block@nongnu.org>, Max Reitz <mreitz@redhat.com>
Subject: Re: [Qemu-devel] backup bug or question
Date: Mon, 12 Aug 2019 15:23:52 +0200 [thread overview]
Message-ID: <20190812132352.GA6400@localhost.localdomain> (raw)
In-Reply-To: <6826e3c2-bc6e-b2a2-1bf1-3ed31079f0ee@virtuozzo.com>
Am 09.08.2019 um 15:18 hat Vladimir Sementsov-Ogievskiy geschrieben:
> Hi!
>
> Hmm, hacking around backup I have a question:
>
> What prevents guest write request after job_start but before setting
> write notifier?
>
> code path:
>
> qmp_drive_backup or transaction with backup
>
> job_start
> aio_co_enter(job_co_entry) /* may only schedule execution, isn't it ? */
>
> ....
>
> job_co_entry
> job_pause_point() /* it definitely yields, isn't it bad? */
> job->driver->run() /* backup_run */
>
> ----
>
> backup_run()
> bdrv_add_before_write_notifier()
>
> ...
>
> And what guarantees we give to the user? Is it guaranteed that write notifier is
> set when qmp command returns?
>
> And I guess, if we start several backups in a transaction it should be guaranteed
> that the set of backups is consistent and correspond to one point in time...
Do the patches to switch backup to a filter node solve this
automatically because that node would be inserted in
backup_job_create()?
Kevin
next prev parent reply other threads:[~2019-08-12 13:24 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-09 13:18 [Qemu-devel] backup bug or question Vladimir Sementsov-Ogievskiy
2019-08-09 20:13 ` John Snow
2019-08-10 11:17 ` Vladimir Sementsov-Ogievskiy
2019-08-12 17:46 ` John Snow
2019-08-12 17:59 ` Vladimir Sementsov-Ogievskiy
2019-08-12 13:23 ` Kevin Wolf [this message]
2019-08-12 16:09 ` Vladimir Sementsov-Ogievskiy
2019-08-12 16:49 ` Kevin Wolf
2019-08-12 17:02 ` Vladimir Sementsov-Ogievskiy
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=20190812132352.GA6400@localhost.localdomain \
--to=kwolf@redhat.com \
--cc=jsnow@redhat.com \
--cc=mreitz@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=vsementsov@virtuozzo.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.