After the previous commits, we make sure that the value passed is
right, or we just drop an error. So now we return if there is one
error or we have setup correctly the value passed.
Signed-off-by: Juan Quintela <quintela@redhat.com>
--
Improve error messasge
Return 0 always for success
---
migration/migration.c | 6 ++----
migration/ram.c | 10 ++++------
migration/ram.h | 2 +-
3 files changed, 7 insertions(+), 11 deletions(-)
diff --git a/migration/migration.c b/migration/migration.c
index 62761d5705..6bbd4715d3 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -1406,14 +1406,12 @@ void qmp_migrate_continue(MigrationStatus state, Error **errp)
void qmp_migrate_set_cache_size(int64_t value, Error **errp)
{
MigrationState *s = migrate_get_current();
- int64_t new_size;
- new_size = xbzrle_cache_resize(value, errp);
- if (new_size < 0) {
+ if (xbzrle_cache_resize(value, errp) < 0) {
return;
}
- s->xbzrle_cache_size = new_size;
+ s->xbzrle_cache_size = value;
}
int64_t qmp_query_migrate_cache_size(Error **errp)
diff --git a/migration/ram.c b/migration/ram.c
index 42f3b7cb28..997340c7c2 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -112,15 +112,15 @@ static void XBZRLE_cache_unlock(void)
* migration may be using the cache and might finish during this call,
* hence changes to the cache are protected by XBZRLE.lock().
*
- * Returns the new_size or negative in case of error.
+ * Returns 0 for success or -1 for error
*
* @new_size: new cache size
* @errp: set *errp if the check failed, with reason
*/
-int64_t xbzrle_cache_resize(int64_t new_size, Error **errp)
+int xbzrle_cache_resize(int64_t new_size, Error **errp)
{
PageCache *new_cache;
- int64_t ret;
+ int64_t ret = 0;
/* Check for truncation */
if (new_size != (size_t)new_size) {
@@ -138,7 +138,7 @@ int64_t xbzrle_cache_resize(int64_t new_size, Error **errp)
if (new_size == migrate_xbzrle_cache_size()) {
/* nothing to do */
- return new_size;
+ return 0;
}
XBZRLE_cache_lock();
@@ -153,8 +153,6 @@ int64_t xbzrle_cache_resize(int64_t new_size, Error **errp)
cache_fini(XBZRLE.cache);
XBZRLE.cache = new_cache;
}
-
- ret = new_size;
out:
XBZRLE_cache_unlock();
return ret;
diff --git a/migration/ram.h b/migration/ram.h
index f9f7eef894..64d81e9f1d 100644
--- a/migration/ram.h
+++ b/migration/ram.h
@@ -35,7 +35,7 @@
extern MigrationStats ram_counters;
extern XBZRLECacheStats xbzrle_counters;
-int64_t xbzrle_cache_resize(int64_t new_size, Error **errp);
+int xbzrle_cache_resize(int64_t new_size, Error **errp);
uint64_t ram_bytes_remaining(void);
uint64_t ram_bytes_total(void);
--
2.13.6
* Juan Quintela (quintela@redhat.com) wrote:
> After the previous commits, we make sure that the value passed is
> right, or we just drop an error. So now we return if there is one
> error or we have setup correctly the value passed.
>
> Signed-off-by: Juan Quintela <quintela@redhat.com>
>
> --
>
> Improve error messasge
> Return 0 always for success
> ---
> migration/migration.c | 6 ++----
> migration/ram.c | 10 ++++------
> migration/ram.h | 2 +-
> 3 files changed, 7 insertions(+), 11 deletions(-)
>
> diff --git a/migration/migration.c b/migration/migration.c
> index 62761d5705..6bbd4715d3 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -1406,14 +1406,12 @@ void qmp_migrate_continue(MigrationStatus state, Error **errp)
> void qmp_migrate_set_cache_size(int64_t value, Error **errp)
> {
> MigrationState *s = migrate_get_current();
> - int64_t new_size;
>
> - new_size = xbzrle_cache_resize(value, errp);
> - if (new_size < 0) {
> + if (xbzrle_cache_resize(value, errp) < 0) {
> return;
> }
>
> - s->xbzrle_cache_size = new_size;
> + s->xbzrle_cache_size = value;
> }
>
> int64_t qmp_query_migrate_cache_size(Error **errp)
> diff --git a/migration/ram.c b/migration/ram.c
> index 42f3b7cb28..997340c7c2 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -112,15 +112,15 @@ static void XBZRLE_cache_unlock(void)
> * migration may be using the cache and might finish during this call,
> * hence changes to the cache are protected by XBZRLE.lock().
> *
> - * Returns the new_size or negative in case of error.
> + * Returns 0 for success or -1 for error
> *
> * @new_size: new cache size
> * @errp: set *errp if the check failed, with reason
> */
> -int64_t xbzrle_cache_resize(int64_t new_size, Error **errp)
> +int xbzrle_cache_resize(int64_t new_size, Error **errp)
> {
> PageCache *new_cache;
> - int64_t ret;
> + int64_t ret = 0;
>
> /* Check for truncation */
> if (new_size != (size_t)new_size) {
> @@ -138,7 +138,7 @@ int64_t xbzrle_cache_resize(int64_t new_size, Error **errp)
>
> if (new_size == migrate_xbzrle_cache_size()) {
> /* nothing to do */
> - return new_size;
> + return 0;
> }
>
> XBZRLE_cache_lock();
> @@ -153,8 +153,6 @@ int64_t xbzrle_cache_resize(int64_t new_size, Error **errp)
> cache_fini(XBZRLE.cache);
> XBZRLE.cache = new_cache;
> }
> -
> - ret = new_size;
> out:
> XBZRLE_cache_unlock();
> return ret;
OK, this shares the same oddity as the original which is
XBZRLE.cache = NULL is not an error.
but, since that is the same as the original;
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> diff --git a/migration/ram.h b/migration/ram.h
> index f9f7eef894..64d81e9f1d 100644
> --- a/migration/ram.h
> +++ b/migration/ram.h
> @@ -35,7 +35,7 @@
> extern MigrationStats ram_counters;
> extern XBZRLECacheStats xbzrle_counters;
>
> -int64_t xbzrle_cache_resize(int64_t new_size, Error **errp);
> +int xbzrle_cache_resize(int64_t new_size, Error **errp);
> uint64_t ram_bytes_remaining(void);
> uint64_t ram_bytes_total(void);
>
> --
> 2.13.6
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
"Dr. David Alan Gilbert" <dgilbert@redhat.com> wrote: > * Juan Quintela (quintela@redhat.com) wrote: >> After the previous commits, we make sure that the value passed is >> right, or we just drop an error. So now we return if there is one >> error or we have setup correctly the value passed. >> >> Signed-off-by: Juan Quintela <quintela@redhat.com> > OK, this shares the same oddity as the original which is > XBZRLE.cache = NULL is not an error. > > but, since that is the same as the original; Hi It is a normal case. You can change the cache size in the middle of migration or outside migration. If we are not in the middle of migration, cache is NULL. Later, Juan.
* Juan Quintela (quintela@redhat.com) wrote: > "Dr. David Alan Gilbert" <dgilbert@redhat.com> wrote: > > * Juan Quintela (quintela@redhat.com) wrote: > >> After the previous commits, we make sure that the value passed is > >> right, or we just drop an error. So now we return if there is one > >> error or we have setup correctly the value passed. > >> > >> Signed-off-by: Juan Quintela <quintela@redhat.com> > > > OK, this shares the same oddity as the original which is > > XBZRLE.cache = NULL is not an error. > > > > but, since that is the same as the original; > > Hi > > It is a normal case. You can change the cache size in the middle of > migration or outside migration. > > If we are not in the middle of migration, cache is NULL. Ah OK, so yes, Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> > Later, Juan. -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
© 2016 - 2026 Red Hat, Inc.