[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] x86/domctl: use hvm_save_vcpu_handler
commit aab0ce62ce01fb82df93372ab16bcef30aa1f2b6 Author: Alexandru Isaila <aisaila@xxxxxxxxxxxxxxx> AuthorDate: Mon Sep 10 16:27:00 2018 +0200 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Wed Sep 12 16:42:09 2018 +0200 x86/domctl: use hvm_save_vcpu_handler This patch is aimed on using the new save_one fuctions in the hvm_save Signed-off-by: Alexandru Isaila <aisaila@xxxxxxxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> --- xen/arch/x86/hvm/save.c | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/xen/arch/x86/hvm/save.c b/xen/arch/x86/hvm/save.c index 870042b27f..e059ab4e13 100644 --- a/xen/arch/x86/hvm/save.c +++ b/xen/arch/x86/hvm/save.c @@ -195,7 +195,6 @@ int hvm_save(struct domain *d, hvm_domain_context_t *h) char *c; struct hvm_save_header hdr; struct hvm_save_end end; - hvm_save_handler handler; unsigned int i; if ( d->is_dying ) @@ -223,8 +222,27 @@ int hvm_save(struct domain *d, hvm_domain_context_t *h) /* Save all available kinds of state */ for ( i = 0; i <= HVM_SAVE_CODE_MAX; i++ ) { - handler = hvm_sr_handlers[i].save; - if ( handler != NULL ) + hvm_save_vcpu_handler save_one_handler = hvm_sr_handlers[i].save_one; + hvm_save_handler handler = hvm_sr_handlers[i].save; + + if ( save_one_handler ) + { + struct vcpu *v; + + for_each_vcpu ( d, v ) + { + printk(XENLOG_G_INFO "HVM %pv save: %s\n", + v, hvm_sr_handlers[i].name); + if ( save_one_handler(v, h) != 0 ) + { + printk(XENLOG_G_ERR + "HVM %pv save: failed to save type %"PRIu16"\n", + v, i); + return -ENODATA; + } + } + } + else if ( handler ) { printk(XENLOG_G_INFO "HVM%d save: %s\n", d->domain_id, hvm_sr_handlers[i].name); @@ -233,7 +251,7 @@ int hvm_save(struct domain *d, hvm_domain_context_t *h) printk(XENLOG_G_ERR "HVM%d save: failed to save type %"PRIu16"\n", d->domain_id, i); - return -EFAULT; + return -ENODATA; } } } -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |