qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 19/23] blockdev: Drop DriveInfo member enable


From: Fam Zheng
Subject: Re: [Qemu-devel] [PATCH v2 19/23] blockdev: Drop DriveInfo member enable_auto_del
Date: Mon, 15 Sep 2014 15:30:51 +0800
User-agent: Mutt/1.5.23 (2014-03-12)

On Sat, 09/13 17:00, Markus Armbruster wrote:
> Commit 2d246f0 introduced DriveInfo member enable_auto_del to
> distinguish DriveInfo created via drive_new() from DriveInfo created
> via qmp_blockdev_add().  The latter no longer exist.  Drop
> enable_auto_del.
> 
> Signed-off-by: Markus Armbruster <address@hidden>
> ---
>  blockdev.c                | 11 +++--------
>  include/sysemu/blockdev.h |  1 -
>  2 files changed, 3 insertions(+), 9 deletions(-)
> 
> diff --git a/blockdev.c b/blockdev.c
> index 0d99be0..e218c59 100644
> --- a/blockdev.c
> +++ b/blockdev.c
> @@ -90,16 +90,14 @@ void blockdev_mark_auto_del(BlockBackend *blk)
>      DriveInfo *dinfo = blk_legacy_dinfo(blk);
>      BlockDriverState *bs = blk_bs(blk);
>  
> -    if (dinfo && !dinfo->enable_auto_del) {
> +    if (!dinfo) {
>          return;
>      }
>  
>      if (bs->job) {
>          block_job_cancel(bs->job);
>      }
> -    if (dinfo) {
> -        dinfo->auto_del = 1;
> -    }
> +    dinfo->auto_del = 1;
>  }

Looks good.

Based on the explanation in the commit message of patch 18, previouly, dinfo is
always non-NULL, so enable_auto_del distinguishes whether the device is created
by drive_new() or qmp_blockdev_add().

Now dinfo is NULL iff created by qmp_blockdev_add(), so enable_auto_del is not
necessary any more.

If I'm reading correctly, the dropped two "if (dinfo.."'s are also redundant.

Reviewed-by: Fam Zheng <address@hidden>

>  
>  void blockdev_auto_del(BlockBackend *blk)
> @@ -900,7 +898,6 @@ DriveInfo *drive_new(QemuOpts *all_opts, 
> BlockInterfaceType block_default_type)
>  
>      /* Set legacy DriveInfo fields */
>      dinfo = g_malloc0(sizeof(*dinfo));
> -    dinfo->enable_auto_del = true;
>      dinfo->opts = all_opts;
>      dinfo->cyls = cyls;
>      dinfo->heads = heads;
> @@ -1716,7 +1713,6 @@ int do_drive_del(Monitor *mon, const QDict *qdict, 
> QObject **ret_data)
>      const char *id = qdict_get_str(qdict, "id");
>      BlockBackend *blk;
>      BlockDriverState *bs;
> -    DriveInfo *dinfo;
>      AioContext *aio_context;
>      Error *local_err = NULL;
>  
> @@ -1727,8 +1723,7 @@ int do_drive_del(Monitor *mon, const QDict *qdict, 
> QObject **ret_data)
>      }
>      bs = blk_bs(blk);
>  
> -    dinfo = blk_legacy_dinfo(blk);
> -    if (dinfo && !dinfo->enable_auto_del) {
> +    if (!blk_legacy_dinfo(blk)) {
>          error_report("Deleting device added with blockdev-add"
>                       " is not supported");
>          return -1;
> diff --git a/include/sysemu/blockdev.h b/include/sysemu/blockdev.h
> index 27a40d5..2129d81 100644
> --- a/include/sysemu/blockdev.h
> +++ b/include/sysemu/blockdev.h
> @@ -35,7 +35,6 @@ struct DriveInfo {
>      int bus;
>      int unit;
>      int auto_del;               /* see blockdev_mark_auto_del() */
> -    bool enable_auto_del;       /* Only for legacy drive_new() */
>      int media_cd;
>      int cyls, heads, secs, trans;
>      QemuOpts *opts;
> -- 
> 1.9.3
> 
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]