All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Benoît Canet" <benoit.canet@gmail.com>
To: qemu-devel@nongnu.org
Cc: kwolf@redhat.com, pbonzini@redhat.com,
	"Benoît Canet" <benoit.canet@gmail.com>,
	stefanha@linux.vnet.ibm.com
Subject: [Qemu-devel] [PATCH V3 1/7] block: Add new BDRV_O_INCOMING flag to notice incoming live migration
Date: Fri, 23 Mar 2012 08:36:48 +0100	[thread overview]
Message-ID: <1332488214-4685-2-git-send-email-benoit.canet@gmail.com> (raw)
In-Reply-To: <1332488214-4685-1-git-send-email-benoit.canet@gmail.com>

>From original patch with Patchwork-id: 31110 by
Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>

"Add a flag to indicate that incoming migration is pending and care needs
to be taken for data consistency.  Block drivers should not modify the
image file before incoming migration is complete since the migration
source host is still using the image file."

The rationale for not using bdrv->read_only is the following.

"Unfortunately this is not possible because too many other places in QEMU
test bdrv_is_read_only() and use it for their own evil purposes.  For
example, ide_init_drive() will error out because read-only harddisks are
not supported.  We're mixing guest and host side read-only concepts so
this simpler alternative does not work."

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
---
 block.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/block.h b/block.h
index 415bb17..b3b18d6 100644
--- a/block.h
+++ b/block.h
@@ -71,6 +71,7 @@ typedef struct BlockDevOps {
 #define BDRV_O_NO_BACKING  0x0100 /* don't open the backing file */
 #define BDRV_O_NO_FLUSH    0x0200 /* disable flushing on this disk */
 #define BDRV_O_COPY_ON_READ 0x0400 /* copy read backing sectors into image */
+#define BDRV_O_INCOMING    0x0800  /* consistency hint for incoming migration */
 
 #define BDRV_O_CACHE_MASK  (BDRV_O_NOCACHE | BDRV_O_CACHE_WB | BDRV_O_NO_FLUSH)
 
-- 
1.7.7.6

  reply	other threads:[~2012-03-23  7:37 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-23  7:36 [Qemu-devel] [PATCH V3 0/7] Make QED with live migration safe Benoît Canet
2012-03-23  7:36 ` Benoît Canet [this message]
2012-03-23  7:36 ` [Qemu-devel] [PATCH V3 2/7] block: add a function to clear incoming live migration flags Benoît Canet
2012-03-23  7:36 ` [Qemu-devel] [PATCH V3 3/7] blockdev: open images with BDRV_O_INCOMING on incoming live migration Benoît Canet
2012-03-23  7:36 ` [Qemu-devel] [PATCH V3 4/7] qed: add bdrv_invalidate_cache to be called after " Benoît Canet
2012-03-23  7:36 ` [Qemu-devel] [PATCH V3 5/7] migration: clear BDRV_O_INCOMING flags on end of " Benoît Canet
2012-03-23  7:36 ` [Qemu-devel] [PATCH V3 6/7] qed: honor BDRV_O_INCOMING for " Benoît Canet
2012-03-23  7:36 ` [Qemu-devel] [PATCH V3 7/7] qed: remove incoming live migration blocker Benoît Canet
2012-03-23 11:24 ` [Qemu-devel] [PATCH V3 0/7] Make QED with live migration safe Stefan Hajnoczi
2012-04-04 16:15   ` Benoît Canet
2012-04-05 14:34 ` Kevin Wolf

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=1332488214-4685-2-git-send-email-benoit.canet@gmail.com \
    --to=benoit.canet@gmail.com \
    --cc=kwolf@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@linux.vnet.ibm.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.