Re: [libvirt] [Qemu-devel] [PATCH 14/17] add new RanState RAN_STATE_FLIPPING_MIGRATE

On 10/22/2013 04:25 AM, Lei Li wrote:
Introduce new RanState RAN_STATE_FLIPPING_MIGRATE and add it to runstate_needs_reset().
Signed-off-by: Lei Li <lilei@linux.vnet.ibm.com> --- qapi-schema.json | 11 +++++++---- vl.c | 12 +++++++++++- 2 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/qapi-schema.json b/qapi-schema.json index 523a5b2..8178d0c 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -176,12 +176,15 @@ # @watchdog: the watchdog action is configured to pause and has been triggered # # @guest-panicked: guest has been panicked as a result of guest OS panic +# +# @flipping-migrate: guest is paused to start unix_page_flipping migration +# process
We probably ought to enhance the docs to mention '(since 1.8)' for this field (and likewise for other enum values added after the original introduction of the enum). Last time we added a new user-visible runstate, it broke migration with older libvirt versions that weren't prepared to see the new state (hmm, I need to check if libvirt has fixed that in the meantime; adding a cc...). Paolo's advice at the time was that it is okay to require a new libvirt when using a new qemu, and that libvirt should be taught to treat all unknown RunState as if they were 'running'; although for this particular addition it might be nicer to have libvirt lump 'inmigrate' and 'flipping-migrate' to the same usage.
## { 'enum': 'RunState', - 'data': [ 'debug', 'inmigrate', 'internal-error', 'io-error', 'paused', - 'postmigrate', 'prelaunch', 'finish-migrate', 'restore-vm', - 'running', 'save-vm', 'shutdown', 'suspended', 'watchdog', - 'guest-panicked' ] } + 'data': [ 'debug', 'flipping-migrate', 'inmigrate', 'internal-error', + 'io-error', 'paused', 'postmigrate', 'prelaunch', 'finish-migrate', + 'restore-vm', 'running', 'save-vm', 'shutdown', 'suspended', + 'watchdog', 'guest-panicked' ] }
-- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Il 22/10/2013 04:51, Eric Blake ha scritto:
Last time we added a new user-visible runstate, it broke migration with older libvirt versions that weren't prepared to see the new state (hmm, I need to check if libvirt has fixed that in the meantime; adding a cc...). Paolo's advice at the time was that it is okay to require a new libvirt when using a new qemu, and that libvirt should be taught to treat all unknown RunState as if they were 'running'; although for this particular addition it might be nicer to have libvirt lump 'inmigrate' and 'flipping-migrate' to the same usage.
This is not a problem in this case, because the new runstate will only appear after enabling a new migration capability. Only new libvirt will be able to enable the capability and thus reach the new runstate. Poalo -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJSaSu2AAoJEBvWZb6bTYbycoUP/RDsMA/62ukPU1stvKhoOPLK +Zi9OOSd8tIAAkHD0rDS5pQePklZ2AqKmOpJujRHhavGA/kKcMhL+79dK22UJSWn fQPgxiivylZcFWbhF97H9eW27Vmw5la1Ob2onq2g+KY/AvL5yrEpBrN60XipHtrd uPM2yWlERSlKcQj0nrTv5Oz3p2k9jWQrGzWX16cC+nFAaR9K/D+afOyl/3ZvixKw ekiIIxStoJQGCogU/rJp1nJcenJfKSOofNKPU8xKkpexK4pw+W1u9GZMaAgzXLRO Q6p3R6raIRT42Hf820ASHsWeHYak2gYmZ+5FaKGPyjAL/iwKyr4FRp7uGXobN9sD ziMX5gaXreVdBh8CIOqDrOGa7BNoEkId2sJrrjwmmD418uZNOGK/xdcPa+mFlc8Q GkJ4y844OckkyLhqQnuVtCVtxGlNCU3Y/XHfTKELdTm1m1jdTdoNnBGFXD1IyTxU 9yPYfQRAeRy7yPEXqQw0qc7ZUj/fhqPPzijwpPrvmFvzAouUZjlpE6QoriiBGzRx Csq+uwpJ2bsWOC5BGvxhrhNE4F9yhWGkotxod6gvULkOLkm/4Cg5/8aNSeYzInsm UtJ5+oZD6jzOVW5brkFosoUvWzr6vJEvwoh7DVz5sVkAH/u93WR8jlG+NsTw5fTY +hthfn5l153w5JDikLyV =q1Ww -----END PGP SIGNATURE-----
participants (2)
-
Eric Blake
-
Paolo Bonzini