Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 340e01248478ba8b78a6d4d1809b1eff > files > 283

kvm-83-270.el5_11.src.rpm

From 39f2e2cd8cbc7d895fe000a3ed6291b59867c464 Mon Sep 17 00:00:00 2001
From: Markus Armbruster <armbru@redhat.com>
Date: Mon, 21 Feb 2011 09:47:36 -0300
Subject: [PATCH 2/8] block: Improve bdrv_iterate (Jan Kiszka)

RH-Author: Markus Armbruster <armbru@redhat.com>
Message-id: <1298281662-2327-3-git-send-email-armbru@redhat.com>
Patchwork-id: 18530
O-Subject: [PATCH RHEL5.7 qemu-kvm 2/8] block: Improve bdrv_iterate (Jan Kiszka)
Bugzilla: 644706
RH-Acked-by: Kevin Wolf <kwolf@redhat.com>
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
RH-Acked-by: Jes Sorensen <Jes.Sorensen@redhat.com>

From: aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>

Make bdrv_iterate more useful by passing the BlockDriverState to the
iterator instead of the device name.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6703 c046a42c-6fe2-441c-8c8c-71466251a162
Manually cherry-picked from commit 51de97605b183fe5a84f96f411cfc99ba6bbb6b1
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 qemu/block.c   |    4 ++--
 qemu/block.h   |    3 ++-
 qemu/monitor.c |    3 ++-
 3 files changed, 6 insertions(+), 4 deletions(-)

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
---
 qemu/block.c   |    4 ++--
 qemu/block.h   |    3 ++-
 qemu/monitor.c |    3 ++-
 3 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/qemu/block.c b/qemu/block.c
index 58b8c83..7b8342c 100644
--- a/qemu/block.c
+++ b/qemu/block.c
@@ -1288,12 +1288,12 @@ BlockDriverState *bdrv_find(const char *name)
     return NULL;
 }
 
-void bdrv_iterate(void (*it)(void *opaque, const char *name), void *opaque)
+void bdrv_iterate(void (*it)(void *opaque, BlockDriverState *bs), void *opaque)
 {
     BlockDriverState *bs;
 
     for (bs = bdrv_first; bs != NULL; bs = bs->next) {
-        it(opaque, bs->device_name);
+        it(opaque, bs);
     }
 }
 
diff --git a/qemu/block.h b/qemu/block.h
index 1a5a9f1..4227820 100644
--- a/qemu/block.h
+++ b/qemu/block.h
@@ -155,7 +155,8 @@ void bdrv_set_change_cb(BlockDriverState *bs,
                         void (*change_cb)(void *opaque), void *opaque);
 void bdrv_get_format(BlockDriverState *bs, char *buf, int buf_size);
 BlockDriverState *bdrv_find(const char *name);
-void bdrv_iterate(void (*it)(void *opaque, const char *name), void *opaque);
+void bdrv_iterate(void (*it)(void *opaque, BlockDriverState *bs),
+                  void *opaque);
 int bdrv_is_encrypted(BlockDriverState *bs);
 int bdrv_set_key(BlockDriverState *bs, const char *key);
 void bdrv_iterate_format(void (*it)(void *opaque, const char *name),
diff --git a/qemu/monitor.c b/qemu/monitor.c
index 94f8e7f..d226544 100644
--- a/qemu/monitor.c
+++ b/qemu/monitor.c
@@ -2816,8 +2816,9 @@ static void file_completion(const char *input)
     closedir(ffs);
 }
 
-static void block_completion_it(void *opaque, const char *name)
+static void block_completion_it(void *opaque, BlockDriverState *bs)
 {
+    const char *name = bdrv_get_device_name(bs);
     const char *input = opaque;
 
     if (input[0] == '\0' ||
-- 
1.7.4.rc1.16.gd2f15e