qemu-block
[Top][All Lists]
Advanced

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

Re: [PATCH v5 05/11] monitor/hmp: move hmp_drive_mirror and hmp_drive_ba


From: Maxim Levitsky
Subject: Re: [PATCH v5 05/11] monitor/hmp: move hmp_drive_mirror and hmp_drive_backup to block-hmp-cmds.c Moved code was added after 2012-01-13, thus under GPLv2+
Date: Sun, 08 Mar 2020 11:29:08 +0200

I see that I have the same issue of long subject line here.
Its because I forgot the space after first line, when adding this.
If I need to resend another version of this patchset I'll fix this,
but otherwise maybe that can be fixed when applying this to one of maintainer's
trees.

Sorry for noise.

Best regards,
        Maxim Levitsky

On Sun, 2020-03-08 at 11:24 +0200, Maxim Levitsky wrote:
> Signed-off-by: Maxim Levitsky <address@hidden>
> Reviewed-by: Dr. David Alan Gilbert <address@hidden>
> ---
>  block/monitor/block-hmp-cmds.c | 60 ++++++++++++++++++++++++++++++++++
>  include/block/block-hmp-cmds.h | 12 +++++--
>  include/monitor/hmp.h          |  2 --
>  monitor/hmp-cmds.c             | 58 --------------------------------
>  4 files changed, 69 insertions(+), 63 deletions(-)
> 
> diff --git a/block/monitor/block-hmp-cmds.c b/block/monitor/block-hmp-cmds.c
> index ad727a6b08..d6dd5d97f7 100644
> --- a/block/monitor/block-hmp-cmds.c
> +++ b/block/monitor/block-hmp-cmds.c
> @@ -37,10 +37,12 @@
>  #include "qapi/qapi-commands-block.h"
>  #include "qapi/qmp/qdict.h"
>  #include "qapi/error.h"
> +#include "qapi/qmp/qerror.h"
>  #include "qemu/config-file.h"
>  #include "qemu/option.h"
>  #include "sysemu/sysemu.h"
>  #include "monitor/monitor.h"
> +#include "monitor/hmp.h"
>  #include "block/block_int.h"
>  #include "block/block-hmp-cmds.h"
>  
> @@ -187,3 +189,61 @@ void hmp_commit(Monitor *mon, const QDict *qdict)
>          error_report("'commit' error for '%s': %s", device, strerror(-ret));
>      }
>  }
> +
> +void hmp_drive_mirror(Monitor *mon, const QDict *qdict)
> +{
> +    const char *filename = qdict_get_str(qdict, "target");
> +    const char *format = qdict_get_try_str(qdict, "format");
> +    bool reuse = qdict_get_try_bool(qdict, "reuse", false);
> +    bool full = qdict_get_try_bool(qdict, "full", false);
> +    Error *err = NULL;
> +    DriveMirror mirror = {
> +        .device = (char *)qdict_get_str(qdict, "device"),
> +        .target = (char *)filename,
> +        .has_format = !!format,
> +        .format = (char *)format,
> +        .sync = full ? MIRROR_SYNC_MODE_FULL : MIRROR_SYNC_MODE_TOP,
> +        .has_mode = true,
> +        .mode = reuse ? NEW_IMAGE_MODE_EXISTING : 
> NEW_IMAGE_MODE_ABSOLUTE_PATHS,
> +        .unmap = true,
> +    };
> +
> +    if (!filename) {
> +        error_setg(&err, QERR_MISSING_PARAMETER, "target");
> +        hmp_handle_error(mon, err);
> +        return;
> +    }
> +    qmp_drive_mirror(&mirror, &err);
> +    hmp_handle_error(mon, err);
> +}
> +
> +void hmp_drive_backup(Monitor *mon, const QDict *qdict)
> +{
> +    const char *device = qdict_get_str(qdict, "device");
> +    const char *filename = qdict_get_str(qdict, "target");
> +    const char *format = qdict_get_try_str(qdict, "format");
> +    bool reuse = qdict_get_try_bool(qdict, "reuse", false);
> +    bool full = qdict_get_try_bool(qdict, "full", false);
> +    bool compress = qdict_get_try_bool(qdict, "compress", false);
> +    Error *err = NULL;
> +    DriveBackup backup = {
> +        .device = (char *)device,
> +        .target = (char *)filename,
> +        .has_format = !!format,
> +        .format = (char *)format,
> +        .sync = full ? MIRROR_SYNC_MODE_FULL : MIRROR_SYNC_MODE_TOP,
> +        .has_mode = true,
> +        .mode = reuse ? NEW_IMAGE_MODE_EXISTING : 
> NEW_IMAGE_MODE_ABSOLUTE_PATHS,
> +        .has_compress = !!compress,
> +        .compress = compress,
> +    };
> +
> +    if (!filename) {
> +        error_setg(&err, QERR_MISSING_PARAMETER, "target");
> +        hmp_handle_error(mon, err);
> +        return;
> +    }
> +
> +    qmp_drive_backup(&backup, &err);
> +    hmp_handle_error(mon, err);
> +}
> diff --git a/include/block/block-hmp-cmds.h b/include/block/block-hmp-cmds.h
> index 30b0f56415..a64b737b3a 100644
> --- a/include/block/block-hmp-cmds.h
> +++ b/include/block/block-hmp-cmds.h
> @@ -3,10 +3,13 @@
>   *
>   * Copyright (c) 2003-2008 Fabrice Bellard
>   * Copyright (c) 2020 Red Hat, Inc.
> + * Copyright IBM, Corp. 2011
>   *
> - * This work is licensed under the terms of the GNU GPL, version 2.
> - * or (at your option) any later version.
> - * See the COPYING file in the top-level directory.
> + * Authors:
> + *  Anthony Liguori   <address@hidden>
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2.  See
> + * the COPYING file in the top-level directory.
>   */
>  
>  #ifndef BLOCK_HMP_COMMANDS_H
> @@ -17,4 +20,7 @@ void hmp_drive_add(Monitor *mon, const QDict *qdict);
>  void hmp_commit(Monitor *mon, const QDict *qdict);
>  void hmp_drive_del(Monitor *mon, const QDict *qdict);
>  
> +void hmp_drive_mirror(Monitor *mon, const QDict *qdict);
> +void hmp_drive_backup(Monitor *mon, const QDict *qdict);
> +
>  #endif
> diff --git a/include/monitor/hmp.h b/include/monitor/hmp.h
> index 3d329853b2..c1b363ee57 100644
> --- a/include/monitor/hmp.h
> +++ b/include/monitor/hmp.h
> @@ -64,8 +64,6 @@ void hmp_block_resize(Monitor *mon, const QDict *qdict);
>  void hmp_snapshot_blkdev(Monitor *mon, const QDict *qdict);
>  void hmp_snapshot_blkdev_internal(Monitor *mon, const QDict *qdict);
>  void hmp_snapshot_delete_blkdev_internal(Monitor *mon, const QDict *qdict);
> -void hmp_drive_mirror(Monitor *mon, const QDict *qdict);
> -void hmp_drive_backup(Monitor *mon, const QDict *qdict);
>  void hmp_loadvm(Monitor *mon, const QDict *qdict);
>  void hmp_savevm(Monitor *mon, const QDict *qdict);
>  void hmp_delvm(Monitor *mon, const QDict *qdict);
> diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c
> index fb4c2fd2a8..06f0cb4bb9 100644
> --- a/monitor/hmp-cmds.c
> +++ b/monitor/hmp-cmds.c
> @@ -1342,64 +1342,6 @@ void hmp_block_resize(Monitor *mon, const QDict *qdict)
>      hmp_handle_error(mon, err);
>  }
>  
> -void hmp_drive_mirror(Monitor *mon, const QDict *qdict)
> -{
> -    const char *filename = qdict_get_str(qdict, "target");
> -    const char *format = qdict_get_try_str(qdict, "format");
> -    bool reuse = qdict_get_try_bool(qdict, "reuse", false);
> -    bool full = qdict_get_try_bool(qdict, "full", false);
> -    Error *err = NULL;
> -    DriveMirror mirror = {
> -        .device = (char *)qdict_get_str(qdict, "device"),
> -        .target = (char *)filename,
> -        .has_format = !!format,
> -        .format = (char *)format,
> -        .sync = full ? MIRROR_SYNC_MODE_FULL : MIRROR_SYNC_MODE_TOP,
> -        .has_mode = true,
> -        .mode = reuse ? NEW_IMAGE_MODE_EXISTING : 
> NEW_IMAGE_MODE_ABSOLUTE_PATHS,
> -        .unmap = true,
> -    };
> -
> -    if (!filename) {
> -        error_setg(&err, QERR_MISSING_PARAMETER, "target");
> -        hmp_handle_error(mon, err);
> -        return;
> -    }
> -    qmp_drive_mirror(&mirror, &err);
> -    hmp_handle_error(mon, err);
> -}
> -
> -void hmp_drive_backup(Monitor *mon, const QDict *qdict)
> -{
> -    const char *device = qdict_get_str(qdict, "device");
> -    const char *filename = qdict_get_str(qdict, "target");
> -    const char *format = qdict_get_try_str(qdict, "format");
> -    bool reuse = qdict_get_try_bool(qdict, "reuse", false);
> -    bool full = qdict_get_try_bool(qdict, "full", false);
> -    bool compress = qdict_get_try_bool(qdict, "compress", false);
> -    Error *err = NULL;
> -    DriveBackup backup = {
> -        .device = (char *)device,
> -        .target = (char *)filename,
> -        .has_format = !!format,
> -        .format = (char *)format,
> -        .sync = full ? MIRROR_SYNC_MODE_FULL : MIRROR_SYNC_MODE_TOP,
> -        .has_mode = true,
> -        .mode = reuse ? NEW_IMAGE_MODE_EXISTING : 
> NEW_IMAGE_MODE_ABSOLUTE_PATHS,
> -        .has_compress = !!compress,
> -        .compress = compress,
> -    };
> -
> -    if (!filename) {
> -        error_setg(&err, QERR_MISSING_PARAMETER, "target");
> -        hmp_handle_error(mon, err);
> -        return;
> -    }
> -
> -    qmp_drive_backup(&backup, &err);
> -    hmp_handle_error(mon, err);
> -}
> -
>  void hmp_snapshot_blkdev(Monitor *mon, const QDict *qdict)
>  {
>      const char *device = qdict_get_str(qdict, "device");





reply via email to

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