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>
This commit is contained in:
parent
9ba10c95a4
commit
b9fe8a7a12
@ -134,7 +134,7 @@ void blockdev_auto_del(BlockDriverState *bs)
|
|||||||
DriveInfo *dinfo = blk_legacy_dinfo(blk);
|
DriveInfo *dinfo = blk_legacy_dinfo(blk);
|
||||||
|
|
||||||
if (dinfo && dinfo->auto_del) {
|
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);
|
error_printf(" %s", name);
|
||||||
}
|
}
|
||||||
|
|
||||||
void drive_del(DriveInfo *dinfo)
|
|
||||||
{
|
|
||||||
blk_unref(dinfo->bdrv->blk);
|
|
||||||
}
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
QEMUBH *bh;
|
QEMUBH *bh;
|
||||||
BlockDriverState *bs;
|
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,
|
bdrv_set_on_error(bs, BLOCKDEV_ON_ERROR_REPORT,
|
||||||
BLOCKDEV_ON_ERROR_REPORT);
|
BLOCKDEV_ON_ERROR_REPORT);
|
||||||
} else {
|
} else {
|
||||||
drive_del(dinfo);
|
blk_unref(blk);
|
||||||
}
|
}
|
||||||
|
|
||||||
aio_context_release(aio_context);
|
aio_context_release(aio_context);
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
#include "hw/hw.h"
|
#include "hw/hw.h"
|
||||||
#include "hw/boards.h"
|
#include "hw/boards.h"
|
||||||
|
#include "sysemu/block-backend.h"
|
||||||
#include "sysemu/blockdev.h"
|
#include "sysemu/blockdev.h"
|
||||||
#include "qemu/config-file.h"
|
#include "qemu/config-file.h"
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
@ -76,6 +77,6 @@ void drive_hot_add(Monitor *mon, const QDict *qdict)
|
|||||||
|
|
||||||
err:
|
err:
|
||||||
if (dinfo) {
|
if (dinfo) {
|
||||||
drive_del(dinfo);
|
blk_unref(blk_by_legacy_dinfo(dinfo));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
#include <hw/i386/pc.h>
|
#include <hw/i386/pc.h>
|
||||||
#include <hw/pci/pci.h>
|
#include <hw/pci/pci.h>
|
||||||
#include <hw/isa/isa.h>
|
#include <hw/isa/isa.h>
|
||||||
|
#include "sysemu/block-backend.h"
|
||||||
#include "sysemu/blockdev.h"
|
#include "sysemu/blockdev.h"
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
#include "sysemu/dma.h"
|
#include "sysemu/dma.h"
|
||||||
@ -178,12 +179,13 @@ int pci_piix3_xen_ide_unplug(DeviceState *dev)
|
|||||||
for (; i < 3; i++) {
|
for (; i < 3; i++) {
|
||||||
di = drive_get_by_index(IF_IDE, i);
|
di = drive_get_by_index(IF_IDE, i);
|
||||||
if (di != NULL && !di->media_cd) {
|
if (di != NULL && !di->media_cd) {
|
||||||
|
BlockBackend *blk = blk_by_legacy_dinfo(di);
|
||||||
DeviceState *ds = bdrv_get_attached_dev(di->bdrv);
|
DeviceState *ds = bdrv_get_attached_dev(di->bdrv);
|
||||||
if (ds) {
|
if (ds) {
|
||||||
bdrv_detach_dev(di->bdrv, ds);
|
bdrv_detach_dev(di->bdrv, ds);
|
||||||
}
|
}
|
||||||
pci_ide->bus[di->bus].ifs[di->unit].bs = NULL;
|
pci_ide->bus[di->bus].ifs[di->unit].bs = NULL;
|
||||||
drive_del(di);
|
blk_unref(blk);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
qdev_reset_all(DEVICE(dev));
|
qdev_reset_all(DEVICE(dev));
|
||||||
|
@ -64,7 +64,6 @@ QemuOpts *drive_def(const char *optstr);
|
|||||||
QemuOpts *drive_add(BlockInterfaceType type, int index, const char *file,
|
QemuOpts *drive_add(BlockInterfaceType type, int index, const char *file,
|
||||||
const char *optstr);
|
const char *optstr);
|
||||||
DriveInfo *drive_new(QemuOpts *arg, BlockInterfaceType block_default_type);
|
DriveInfo *drive_new(QemuOpts *arg, BlockInterfaceType block_default_type);
|
||||||
void drive_del(DriveInfo *dinfo);
|
|
||||||
|
|
||||||
/* device-hotplug */
|
/* device-hotplug */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user