qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 3/3] hw/s390x/s390-stattrib: Don't call register_savevm_live(


From: Thomas Huth
Subject: Re: [PATCH 3/3] hw/s390x/s390-stattrib: Don't call register_savevm_live() during instance_init()
Date: Fri, 20 Oct 2023 15:27:47 +0200
User-agent: Mozilla Thunderbird

On 20/10/2023 14.57, Thomas Huth wrote:
We must not call register_savevm_live() from an instance_init() function
(since this could be called multiple times during device introspection).
Move this to the realize() function instead.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
  hw/s390x/s390-stattrib.c | 28 ++++++++++++++--------------
  1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/hw/s390x/s390-stattrib.c b/hw/s390x/s390-stattrib.c
index 52f9fc036e..3217263418 100644
--- a/hw/s390x/s390-stattrib.c
+++ b/hw/s390x/s390-stattrib.c
@@ -331,6 +331,17 @@ static const TypeInfo qemu_s390_stattrib_info = {
/* Generic abstract object: */ +static SaveVMHandlers savevm_s390_stattrib_handlers = {
+    .save_setup = cmma_save_setup,
+    .save_live_iterate = cmma_save_iterate,
+    .save_live_complete_precopy = cmma_save_complete,
+    .state_pending_exact = cmma_state_pending,
+    .state_pending_estimate = cmma_state_pending,
+    .save_cleanup = cmma_save_cleanup,
+    .load_state = cmma_load,
+    .is_active = cmma_active,
+};
+
  static void s390_stattrib_realize(DeviceState *dev, Error **errp)
  {
      bool ambiguous = false;
@@ -339,6 +350,9 @@ static void s390_stattrib_realize(DeviceState *dev, Error 
**errp)
      if (ambiguous) {
          error_setg(errp, "storage_attributes device already exists");
      }
+
+    register_savevm_live(TYPE_S390_STATTRIB, 0, 0,
+                         &savevm_s390_stattrib_handlers, sas);
  }

Oh, drat, I forgot to "git commit --amend" one remaining change: it should be "dev" instead of "sas" in above line, sorry for the confusion!

 Thomas




reply via email to

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