On 07/24/2012 05:04 AM, Paolo Bonzini wrote:
> The desired granularity may be very different depending on the kind of
> operation (e.g. continous replication vs. collapse-to-raw) and whether

s/continous/continuous/

> the VM is expected to perform lots of I/O while mirroring is in progress.
> Allow the user to customize it.
> 
> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
> ---

> @@ -857,6 +858,17 @@ void qmp_drive_mirror(const char *device, const char 
> *target,
>      if (!has_mode) {
>          mode = NEW_IMAGE_MODE_ABSOLUTE_PATHS;
>      }
> +    if (!has_granularity) {
> +        granularity = 65536;
> +    }
> +    if (granularity < 512 || granularity > 1048576 * 64) {
> +        error_set(errp, QERR_INVALID_PARAMETER, device);
> +        return;
> +    }
> +    if (granularity & (granularity - 1)) {
> +        error_set(errp, QERR_INVALID_PARAMETER, device);
> +        return;

In the XBZLRE migration series, we decided to round the users input down
to a power of two instead of reject it.  Should we do that here?  Also,
there is already an explicit QERR_PROPERY_VALUE_NOT_POWER_OF_2 that
might fit better here (depending on how the error cleanup series goes).

-- 
Eric Blake   ebl...@redhat.com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to