Message ID | 1425296209-1476-3-git-send-email-famz@redhat.com |
---|---|
State | New |
Headers | show |
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 --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;
Signed-off-by: Fam Zheng <famz@redhat.com> --- migration/block.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)