]> xenbits.xensource.com Git - qemu-xen-3.3-testing.git/commitdiff
unlink the bs from bdrv-list upon bdrv_delete(bs)
authoraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 8 Apr 2008 19:51:21 +0000 (19:51 +0000)
committeraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 8 Apr 2008 19:51:21 +0000 (19:51 +0000)
(Uri Lublin)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4179 c046a42c-6fe2-441c-8c8c-71466251a162

block.c

diff --git a/block.c b/block.c
index 07309541f319c3c4399bfededc3053904ed6640d..bd647a6f479c59306e6cc6596a1ff9102a5503d1 100644 (file)
--- a/block.c
+++ b/block.c
@@ -452,7 +452,14 @@ void bdrv_close(BlockDriverState *bs)
 
 void bdrv_delete(BlockDriverState *bs)
 {
-    /* XXX: remove the driver list */
+    BlockDriverState **pbs;
+
+    pbs = &bdrv_first;
+    while (*pbs != bs && *pbs != NULL)
+        pbs = &(*pbs)->next;
+    if (*pbs == bs)
+        *pbs = bs->next;
+
     bdrv_close(bs);
     qemu_free(bs);
 }