@ -60,6 +60,11 @@ static QTAILQ_HEAD(, BlockDriverState) monitor_bdrv_states =
static int do_open_tray ( const char * blk_name , const char * qdev_id ,
bool force , Error * * errp ) ;
static void blockdev_remove_medium ( bool has_device , const char * device ,
bool has_id , const char * id , Error * * errp ) ;
static void blockdev_insert_medium ( bool has_device , const char * device ,
bool has_id , const char * id ,
const char * node_name , Error * * errp ) ;
static const char * const if_name [ IF_COUNT ] = {
[ IF_NONE ] = " none " ,
@ -2323,7 +2328,7 @@ void qmp_eject(bool has_device, const char *device,
}
error_free ( local_err ) ;
qmp_x_ blockdev_remove_medium( has_device , device , has_id , id , errp ) ;
blockdev_remove_medium ( has_device , device , has_id , id , errp ) ;
}
void qmp_block_passwd ( bool has_device , const char * device ,
@ -2446,8 +2451,8 @@ void qmp_blockdev_close_tray(bool has_device, const char *device,
}
}
void qmp_x_ blockdev_remove_medium( bool has_device , const char * device ,
bool has_id , const char * id , Error * * errp )
static void blockdev_remove_medium ( bool has_device , const char * device ,
bool has_id , const char * id , Error * * errp )
{
BlockBackend * blk ;
BlockDriverState * bs ;
@ -2503,6 +2508,11 @@ out:
aio_context_release ( aio_context ) ;
}
void qmp_x_blockdev_remove_medium ( const char * id , Error * * errp )
{
blockdev_remove_medium ( false , NULL , true , id , errp ) ;
}
static void qmp_blockdev_insert_anon_medium ( BlockBackend * blk ,
BlockDriverState * bs , Error * * errp )
{
@ -2548,9 +2558,9 @@ static void qmp_blockdev_insert_anon_medium(BlockBackend *blk,
}
}
void qmp_x_ blockdev_insert_medium( bool has_device , const char * device ,
bool has_id , const char * id ,
const char * node_name , Error * * errp )
static void blockdev_insert_medium ( bool has_device , const char * device ,
bool has_id , const char * id ,
const char * node_name , Error * * errp )
{
BlockBackend * blk ;
BlockDriverState * bs ;
@ -2576,6 +2586,12 @@ void qmp_x_blockdev_insert_medium(bool has_device, const char *device,
qmp_blockdev_insert_anon_medium ( blk , bs , errp ) ;
}
void qmp_x_blockdev_insert_medium ( const char * id , const char * node_name ,
Error * * errp )
{
blockdev_insert_medium ( false , NULL , true , id , node_name , errp ) ;
}
void qmp_blockdev_change_medium ( bool has_device , const char * device ,
bool has_id , const char * id ,
const char * filename ,
@ -2650,7 +2666,7 @@ void qmp_blockdev_change_medium(bool has_device, const char *device,
error_free ( err ) ;
err = NULL ;
qmp_x_ blockdev_remove_medium( has_device , device , has_id , id , & err ) ;
blockdev_remove_medium ( has_device , device , has_id , id , & err ) ;
if ( err ) {
error_propagate ( errp , err ) ;
goto fail ;