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
signature.asc
Description: OpenPGP digital signature