summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2014-10-07 13:59:09 +0200
committerKevin Wolf <kwolf@redhat.com>2014-10-20 13:41:26 +0200
commitb9fe8a7a12f18adebba5616a3e9f44143a78c07e (patch)
treed2c4505d21575b0242f28107db529de8db246fcf
parent9ba10c95a4a63ef453893ba16bf1c8e11a1d3c39 (diff)
downloadfocaccia-qemu-b9fe8a7a12f18adebba5616a3e9f44143a78c07e.tar.gz
focaccia-qemu-b9fe8a7a12f18adebba5616a3e9f44143a78c07e.zip
blockdev: Eliminate drive_del()
drive_del() has become a trivial wrapper around blk_unref().  Get rid
of it.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
-rw-r--r--blockdev.c9
-rw-r--r--device-hotplug.c3
-rw-r--r--hw/ide/piix.c4
-rw-r--r--include/sysemu/blockdev.h1
4 files changed, 7 insertions, 10 deletions
diff --git a/blockdev.c b/blockdev.c
index 63f797b417..30382031b8 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -134,7 +134,7 @@ void blockdev_auto_del(BlockDriverState *bs)
     DriveInfo *dinfo = blk_legacy_dinfo(blk);
 
     if (dinfo && dinfo->auto_del) {
-        drive_del(dinfo);
+        blk_unref(blk);
     }
 }
 
@@ -276,11 +276,6 @@ static void bdrv_format_print(void *opaque, const char *name)
     error_printf(" %s", name);
 }
 
-void drive_del(DriveInfo *dinfo)
-{
-    blk_unref(dinfo->bdrv->blk);
-}
-
 typedef struct {
     QEMUBH *bh;
     BlockDriverState *bs;
@@ -1867,7 +1862,7 @@ int do_drive_del(Monitor *mon, const QDict *qdict, QObject **ret_data)
         bdrv_set_on_error(bs, BLOCKDEV_ON_ERROR_REPORT,
                           BLOCKDEV_ON_ERROR_REPORT);
     } else {
-        drive_del(dinfo);
+        blk_unref(blk);
     }
 
     aio_context_release(aio_context);
diff --git a/device-hotplug.c b/device-hotplug.c
index e6a1ffb9fa..9e38cc4808 100644
--- a/device-hotplug.c
+++ b/device-hotplug.c
@@ -24,6 +24,7 @@
 
 #include "hw/hw.h"
 #include "hw/boards.h"
+#include "sysemu/block-backend.h"
 #include "sysemu/blockdev.h"
 #include "qemu/config-file.h"
 #include "sysemu/sysemu.h"
@@ -76,6 +77,6 @@ void drive_hot_add(Monitor *mon, const QDict *qdict)
 
 err:
     if (dinfo) {
-        drive_del(dinfo);
+        blk_unref(blk_by_legacy_dinfo(dinfo));
     }
 }
diff --git a/hw/ide/piix.c b/hw/ide/piix.c
index 49e78a738a..ec93977e53 100644
--- a/hw/ide/piix.c
+++ b/hw/ide/piix.c
@@ -27,6 +27,7 @@
 #include <hw/i386/pc.h>
 #include <hw/pci/pci.h>
 #include <hw/isa/isa.h>
+#include "sysemu/block-backend.h"
 #include "sysemu/blockdev.h"
 #include "sysemu/sysemu.h"
 #include "sysemu/dma.h"
@@ -178,12 +179,13 @@ int pci_piix3_xen_ide_unplug(DeviceState *dev)
     for (; i < 3; i++) {
         di = drive_get_by_index(IF_IDE, i);
         if (di != NULL && !di->media_cd) {
+            BlockBackend *blk = blk_by_legacy_dinfo(di);
             DeviceState *ds = bdrv_get_attached_dev(di->bdrv);
             if (ds) {
                 bdrv_detach_dev(di->bdrv, ds);
             }
             pci_ide->bus[di->bus].ifs[di->unit].bs = NULL;
-            drive_del(di);
+            blk_unref(blk);
         }
     }
     qdev_reset_all(DEVICE(dev));
diff --git a/include/sysemu/blockdev.h b/include/sysemu/blockdev.h
index ccd4bf487e..439844d6dd 100644
--- a/include/sysemu/blockdev.h
+++ b/include/sysemu/blockdev.h
@@ -64,7 +64,6 @@ QemuOpts *drive_def(const char *optstr);
 QemuOpts *drive_add(BlockInterfaceType type, int index, const char *file,
                     const char *optstr);
 DriveInfo *drive_new(QemuOpts *arg, BlockInterfaceType block_default_type);
-void drive_del(DriveInfo *dinfo);
 
 /* device-hotplug */