diff mbox

[2/4] migration: Convert bdrv_find to blk_by_name

Message ID 1425296209-1476-3-git-send-email-famz@redhat.com
State New
Headers show

Commit Message

Fam Zheng March 2, 2015, 11:36 a.m. UTC
Signed-off-by: Fam Zheng <famz@redhat.com>
---
 migration/block.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Comments

Max Reitz March 2, 2015, 3:32 p.m. UTC | #1
On 2015-03-02 at 06:36, Fam Zheng wrote:
> Signed-off-by: Fam Zheng <famz@redhat.com>
> ---
>   migration/block.c | 7 +++++--
>   1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/migration/block.c b/migration/block.c
> index 0c76106..085c0fa 100644
> --- a/migration/block.c
> +++ b/migration/block.c
> @@ -23,6 +23,7 @@
>   #include "migration/block.h"
>   #include "migration/migration.h"
>   #include "sysemu/blockdev.h"
> +#include "sysemu/block-backend.h"
>   #include <assert.h>
>   
>   #define BLOCK_SIZE                       (1 << 20)
> @@ -783,6 +784,7 @@ static int block_load(QEMUFile *f, void *opaque, int version_id)
>       char device_name[256];
>       int64_t addr;
>       BlockDriverState *bs, *bs_prev = NULL;
> +    BlockBackend *blk;
>       uint8_t *buf;
>       int64_t total_sectors = 0;
>       int nr_sectors;
> @@ -800,12 +802,13 @@ static int block_load(QEMUFile *f, void *opaque, int version_id)
>               qemu_get_buffer(f, (uint8_t *)device_name, len);
>               device_name[len] = '\0';
>   
> -            bs = bdrv_find(device_name);
> -            if (!bs) {
> +            blk = blk_by_name(device_name);
> +            if (!blk) {
>                   fprintf(stderr, "Error unknown block device %s\n",
>                           device_name);
>                   return -EINVAL;
>               }
> +            bs = blk_bs(blk);
>   
>               if (bs != bs_prev) {
>                   bs_prev = bs;

Hm, okay for a quick stitch. But actually we could get rid of all the 
BDSs in this function (and it should probably be acquiring the 
AioContext of the BB). If you don't feel like it, maybe I'll do it in 
the next iteration of my "BB and media" series (or in the 
bdrv_close_all() series... Both have convenient "Use more BB" patches, 
as far as I remember).

Reviewed-by: Max Reitz <mreitz@redhat.com>
diff mbox

Patch

diff --git a/migration/block.c b/migration/block.c
index 0c76106..085c0fa 100644
--- a/migration/block.c
+++ b/migration/block.c
@@ -23,6 +23,7 @@ 
 #include "migration/block.h"
 #include "migration/migration.h"
 #include "sysemu/blockdev.h"
+#include "sysemu/block-backend.h"
 #include <assert.h>
 
 #define BLOCK_SIZE                       (1 << 20)
@@ -783,6 +784,7 @@  static int block_load(QEMUFile *f, void *opaque, int version_id)
     char device_name[256];
     int64_t addr;
     BlockDriverState *bs, *bs_prev = NULL;
+    BlockBackend *blk;
     uint8_t *buf;
     int64_t total_sectors = 0;
     int nr_sectors;
@@ -800,12 +802,13 @@  static int block_load(QEMUFile *f, void *opaque, int version_id)
             qemu_get_buffer(f, (uint8_t *)device_name, len);
             device_name[len] = '\0';
 
-            bs = bdrv_find(device_name);
-            if (!bs) {
+            blk = blk_by_name(device_name);
+            if (!blk) {
                 fprintf(stderr, "Error unknown block device %s\n",
                         device_name);
                 return -EINVAL;
             }
+            bs = blk_bs(blk);
 
             if (bs != bs_prev) {
                 bs_prev = bs;