[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 09/23] block: Merge BlockBackend and BlockDriverStat
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH 09/23] block: Merge BlockBackend and BlockDriverState name spaces |
Date: |
Wed, 10 Sep 2014 10:13:38 +0200 |
BlockBackend's name space is separate only to keep the patches simple.
Time to merge the two.
Signed-off-by: Markus Armbruster <address@hidden>
---
block.c | 11 +++--------
block/block-backend.c | 10 +++++-----
2 files changed, 8 insertions(+), 13 deletions(-)
diff --git a/block.c b/block.c
index 61ea15d..34c8f8c 100644
--- a/block.c
+++ b/block.c
@@ -850,7 +850,7 @@ static void bdrv_assign_node_name(BlockDriverState *bs,
}
/* takes care of avoiding namespaces collisions */
- if (bdrv_find(node_name)) {
+ if (blk_by_name(node_name)) {
error_setg(errp, "node-name=%s is conflicting with a device id",
node_name);
return;
@@ -3765,14 +3765,9 @@ void bdrv_iterate_format(void (*it)(void *opaque, const
char *name),
/* This function is to find block backend bs */
BlockDriverState *bdrv_find(const char *name)
{
- BlockDriverState *bs;
+ BlockBackend *blk = blk_by_name(name);
- for (bs = bdrv_next(NULL); bs; bs = bdrv_next(bs)) {
- if (!strcmp(name, bdrv_get_device_name(bs))) {
- return bs;
- }
- }
- return NULL;
+ return blk ? blk_bs(blk) : NULL;
}
/* This function is to find a node in the bs graph */
diff --git a/block/block-backend.c b/block/block-backend.c
index 2f10d6a..b2db97b 100644
--- a/block/block-backend.c
+++ b/block/block-backend.c
@@ -46,6 +46,11 @@ BlockBackend *blk_new(const char *name, Error **errp)
error_setg(errp, "Device with id '%s' already exists", name);
return NULL;
}
+ if (bdrv_find_node(name)) {
+ error_setg(errp, "Device with node-name '%s' already exists", name);
+ return NULL;
+ }
+
blk->name = g_strdup(name);
blk->refcnt = 1;
QTAILQ_INSERT_TAIL(&blk_backends, blk, link);
@@ -67,11 +72,6 @@ BlockBackend *blk_new_with_bs(const char *name, Error **errp)
BlockBackend *blk;
BlockDriverState *bs;
- if (bdrv_find_node(name)) {
- error_setg(errp, "Device with node-name '%s' already exists", name);
- return NULL;
- }
-
blk = blk_new(name, errp);
if (!blk) {
return NULL;
--
1.9.3
- [Qemu-devel] [PATCH 00/23] Split BlockBackend off BDS with an axe, Markus Armbruster, 2014/09/10
- [Qemu-devel] [PATCH 03/23] block: Connect BlockBackend to BlockDriverState, Markus Armbruster, 2014/09/10
- [Qemu-devel] [PATCH 09/23] block: Merge BlockBackend and BlockDriverState name spaces,
Markus Armbruster <=
- [Qemu-devel] [PATCH 06/23] block: Eliminate bdrv_states, use block_next() instead, Markus Armbruster, 2014/09/10
- [Qemu-devel] [PATCH 07/23] block: Eliminate bdrv_iterate(), use bdrv_next(), Markus Armbruster, 2014/09/10
- [Qemu-devel] [PATCH 01/23] block: Split bdrv_new_named() off bdrv_new(), Markus Armbruster, 2014/09/10