diff mbox

[RFC,04/10] block: rename *_invalidate_cache_* to *_post_incoming_migration_*

Message ID 1331055149-10982-5-git-send-email-benoit.canet@gmail.com
State New
Headers show

Commit Message

Benoit Canet March 6, 2012, 5:32 p.m. UTC
This patch will allow to do a post incoming live migration check
on QED images and keep invalidating caches on qcow2 images.

Signed-off-by: Benoit Canet <benoit.canet@gmail.com>
---
 block.c       |   10 +++++-----
 block.h       |    8 +++++---
 block/qcow2.c |    7 ++++++-
 block_int.h   |    4 ++--
 migration.c   |    6 ++++--
 5 files changed, 22 insertions(+), 13 deletions(-)
diff mbox

Patch

diff --git a/block.c b/block.c
index 889d464..b0f0288 100644
--- a/block.c
+++ b/block.c
@@ -3566,19 +3566,19 @@  int coroutine_fn bdrv_co_flush(BlockDriverState *bs)
     }
 }
 
-void bdrv_invalidate_cache(BlockDriverState *bs)
+void bdrv_post_incoming_migration(BlockDriverState *bs)
 {
-    if (bs->drv && bs->drv->bdrv_invalidate_cache) {
-        bs->drv->bdrv_invalidate_cache(bs);
+    if (bs->drv && bs->drv->bdrv_post_incoming_migration) {
+        bs->drv->bdrv_post_incoming_migration(bs);
     }
 }
 
-void bdrv_invalidate_cache_all(void)
+void bdrv_post_incoming_migration_all(void)
 {
     BlockDriverState *bs;
 
     QTAILQ_FOREACH(bs, &bdrv_states, list) {
-        bdrv_invalidate_cache(bs);
+        bdrv_post_incoming_migration(bs);
     }
 }
 
diff --git a/block.h b/block.h
index 2ddf9c5..1323086 100644
--- a/block.h
+++ b/block.h
@@ -219,9 +219,11 @@  BlockDriverAIOCB *bdrv_aio_ioctl(BlockDriverState *bs,
         unsigned long int req, void *buf,
         BlockDriverCompletionFunc *cb, void *opaque);
 
-/* Invalidate any cached metadata used by image formats */
-void bdrv_invalidate_cache(BlockDriverState *bs);
-void bdrv_invalidate_cache_all(void);
+/* Do post incoming migration operations
+ * Ex: flush mutable metadata
+ */
+void bdrv_post_incoming_migration(BlockDriverState *bs);
+void bdrv_post_incoming_migration_all(void);
 
 void bdrv_set_incoming_migration(void);
 void bdrv_clear_incoming_migration_all(void);
diff --git a/block/qcow2.c b/block/qcow2.c
index eb5ea48..bbe6032 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -700,6 +700,11 @@  static void qcow2_invalidate_cache(BlockDriverState *bs)
     }
 }
 
+static void qcow2_post_incoming_migration(BlockDriverState *bs)
+{
+    qcow2_invalidate_cache(bs);
+}
+
 static size_t header_ext_add(char *buf, uint32_t magic, const void *s,
     size_t len, size_t buflen)
 {
@@ -1383,7 +1388,7 @@  static BlockDriver bdrv_qcow2 = {
 
     .bdrv_change_backing_file   = qcow2_change_backing_file,
 
-    .bdrv_invalidate_cache      = qcow2_invalidate_cache,
+    .bdrv_post_incoming_migration = qcow2_post_incoming_migration,
 
     .create_options = qcow2_create_options,
     .bdrv_check = qcow2_check,
diff --git a/block_int.h b/block_int.h
index b460c36..e68d42e 100644
--- a/block_int.h
+++ b/block_int.h
@@ -145,9 +145,9 @@  struct BlockDriver {
         int64_t sector_num, int nb_sectors, int *pnum);
 
     /*
-     * Invalidate any cached meta-data.
+     * Do the post incoming migration processing
      */
-    void (*bdrv_invalidate_cache)(BlockDriverState *bs);
+    void (*bdrv_post_incoming_migration)(BlockDriverState *bs);
 
     /*
      * Flushes all data that was already written to the OS all the way down to
diff --git a/migration.c b/migration.c
index 00fa1e3..45af364 100644
--- a/migration.c
+++ b/migration.c
@@ -91,8 +91,10 @@  void process_incoming_migration(QEMUFile *f)
     qemu_announce_self();
     DPRINTF("successfully loaded vm state\n");
 
-    /* Make sure all file formats flush their mutable metadata */
-    bdrv_invalidate_cache_all();
+    /* Execute post incoming migration operations :
+     * for qcow2 make sure to flush mutable metadata
+     **/
+    bdrv_post_incoming_migration_all();
 
     if (autostart) {
         vm_start();