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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user