One Hat Cyber Team
Your IP :
216.73.216.135
Server IP :
194.44.31.54
Server :
Linux zen.imath.kiev.ua 4.18.0-553.77.1.el8_10.x86_64 #1 SMP Fri Oct 3 14:30:23 UTC 2025 x86_64
Server Software :
Apache/2.4.37 (Rocky Linux) OpenSSL/1.1.1k
PHP Version :
5.6.40
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
doc
/
qemu-kvm
/
interop
/
View File Name :
dbus-vmstate.html
<!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>D-Bus VMState — QEMU qemu-kvm-6.2.0-53.module+el8.10.0+2055+8eb7870b.4 documentation</title> <link rel="shortcut icon" href="../_static/qemu_32x32.png"/> <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> <link rel="index" title="Index" href="../genindex.html" /> <link rel="search" title="Search" href="../search.html" /> <link rel="next" title="Live Block Device Operations" href="live-block-operations.html" /> <link rel="prev" title="D-Bus" href="dbus.html" /> <script src="../_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-scroll"> <div class="wy-side-nav-search"> <a href="../index.html" class="icon icon-home"> QEMU <img src="../_static/qemu_128x128.png" class="logo" alt="Logo"/> </a> <div class="version"> 6.2.0 </div> <div role="search"> <form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <p class="caption"><span class="caption-text">Contents:</span></p> <ul class="current"> <li class="toctree-l1"><a class="reference internal" href="../about/index.html">About QEMU</a></li> <li class="toctree-l1"><a class="reference internal" href="../system/index.html">System Emulation</a></li> <li class="toctree-l1"><a class="reference internal" href="../user/index.html">User Mode Emulation</a></li> <li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Tools</a></li> <li class="toctree-l1 current"><a class="reference internal" href="index.html">System Emulation Management and Interoperability</a><ul class="current"> <li class="toctree-l2"><a class="reference internal" href="barrier.html">Barrier client protocol</a></li> <li class="toctree-l2"><a class="reference internal" href="bitmaps.html">Dirty Bitmaps and Incremental Backup</a></li> <li class="toctree-l2"><a class="reference internal" href="dbus.html">D-Bus</a></li> <li class="toctree-l2 current"><a class="current reference internal" href="#">D-Bus VMState</a><ul> <li class="toctree-l3"><a class="reference internal" href="#introduction">Introduction</a></li> <li class="toctree-l3"><a class="reference internal" href="#interface">Interface</a><ul> <li class="toctree-l4"><a class="reference internal" href="#id-property">“Id” property</a></li> <li class="toctree-l4"><a class="reference internal" href="#load-in-u8-bytes-method">Load(in u8[] bytes) method</a></li> <li class="toctree-l4"><a class="reference internal" href="#save-out-u8-bytes-method">Save(out u8[] bytes) method</a></li> </ul> </li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="live-block-operations.html">Live Block Device Operations</a></li> <li class="toctree-l2"><a class="reference internal" href="pr-helper.html">Persistent reservation helper protocol</a></li> <li class="toctree-l2"><a class="reference internal" href="qemu-ga.html">QEMU Guest Agent</a></li> <li class="toctree-l2"><a class="reference internal" href="qemu-ga-ref.html">QEMU Guest Agent Protocol Reference</a></li> <li class="toctree-l2"><a class="reference internal" href="qemu-qmp-ref.html">QEMU QMP Reference Manual</a></li> <li class="toctree-l2"><a class="reference internal" href="qemu-storage-daemon-qmp-ref.html">QEMU Storage Daemon QMP Reference Manual</a></li> <li class="toctree-l2"><a class="reference internal" href="vhost-user.html">Vhost-user Protocol</a></li> <li class="toctree-l2"><a class="reference internal" href="vhost-user-gpu.html">Vhost-user-gpu Protocol</a></li> <li class="toctree-l2"><a class="reference internal" href="vhost-vdpa.html">Vhost-vdpa Protocol</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="../specs/index.html">System Emulation Guest Hardware Specifications</a></li> <li class="toctree-l1"><a class="reference internal" href="../devel/index.html">Developer Information</a></li> </ul> </div> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="../index.html">QEMU</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="../index.html">Docs</a> »</li> <li><a href="index.html">System Emulation Management and Interoperability</a> »</li> <li>D-Bus VMState</li> <li class="wy-breadcrumbs-aside"> <a href="https://gitlab.com/qemu-project/qemu/blob/master/docs/interop/dbus-vmstate.rst" class="fa fa-gitlab"> Edit on GitLab</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="d-bus-vmstate"> <h1>D-Bus VMState<a class="headerlink" href="#d-bus-vmstate" title="Permalink to this headline">¶</a></h1> <div class="section" id="introduction"> <h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline">¶</a></h2> <p>The QEMU dbus-vmstate object’s aim is to migrate helpers’ data running on a QEMU D-Bus bus. (refer to the <a class="reference internal" href="dbus.html"><span class="doc">D-Bus</span></a> document for some recommendations on D-Bus usage)</p> <p>Upon migration, QEMU will go through the queue of <code class="docutils literal notranslate"><span class="pre">org.qemu.VMState1</span></code> D-Bus name owners and query their <code class="docutils literal notranslate"><span class="pre">Id</span></code>. It must be unique among the helpers.</p> <p>It will then save arbitrary data of each Id to be transferred in the migration stream and restored/loaded at the corresponding destination helper.</p> <p>For now, the data amount to be transferred is arbitrarily limited to 1Mb. The state must be saved quickly (a fraction of a second). (D-Bus imposes a time limit on reply anyway, and migration would fail if data isn’t given quickly enough.)</p> <p>dbus-vmstate object can be configured with the expected list of helpers by setting its <code class="docutils literal notranslate"><span class="pre">id-list</span></code> property, with a comma-separated <code class="docutils literal notranslate"><span class="pre">Id</span></code> list.</p> </div> <div class="section" id="interface"> <h2>Interface<a class="headerlink" href="#interface" title="Permalink to this headline">¶</a></h2> <p>On object path <code class="docutils literal notranslate"><span class="pre">/org/qemu/VMState1</span></code>, the following <code class="docutils literal notranslate"><span class="pre">org.qemu.VMState1</span></code> interface should be implemented:</p> <div class="code xml highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o"><</span><span class="n">interface</span> <span class="n">name</span><span class="o">=</span><span class="s2">"org.qemu.VMState1"</span><span class="o">></span> <span class="o"><</span><span class="nb">property</span> <span class="n">name</span><span class="o">=</span><span class="s2">"Id"</span> <span class="nb">type</span><span class="o">=</span><span class="s2">"s"</span> <span class="n">access</span><span class="o">=</span><span class="s2">"read"</span><span class="o">/></span> <span class="o"><</span><span class="n">method</span> <span class="n">name</span><span class="o">=</span><span class="s2">"Load"</span><span class="o">></span> <span class="o"><</span><span class="n">arg</span> <span class="nb">type</span><span class="o">=</span><span class="s2">"ay"</span> <span class="n">name</span><span class="o">=</span><span class="s2">"data"</span> <span class="n">direction</span><span class="o">=</span><span class="s2">"in"</span><span class="o">/></span> <span class="o"></</span><span class="n">method</span><span class="o">></span> <span class="o"><</span><span class="n">method</span> <span class="n">name</span><span class="o">=</span><span class="s2">"Save"</span><span class="o">></span> <span class="o"><</span><span class="n">arg</span> <span class="nb">type</span><span class="o">=</span><span class="s2">"ay"</span> <span class="n">name</span><span class="o">=</span><span class="s2">"data"</span> <span class="n">direction</span><span class="o">=</span><span class="s2">"out"</span><span class="o">/></span> <span class="o"></</span><span class="n">method</span><span class="o">></span> <span class="o"></</span><span class="n">interface</span><span class="o">></span> </pre></div> </div> <div class="section" id="id-property"> <h3>“Id” property<a class="headerlink" href="#id-property" title="Permalink to this headline">¶</a></h3> <p>A string that identifies the helper uniquely. (maximum 256 bytes including terminating NUL byte)</p> <div class="admonition note"> <p class="first admonition-title">Note</p> <p class="last">The helper ID namespace is a separate namespace. In particular, it is not related to QEMU “id” used in -object/-device objects.</p> </div> </div> <div class="section" id="load-in-u8-bytes-method"> <h3>Load(in u8[] bytes) method<a class="headerlink" href="#load-in-u8-bytes-method" title="Permalink to this headline">¶</a></h3> <p>The method called on destination with the state to restore.</p> <p>The helper may be initially started in a waiting state (with an –incoming argument for example), and it may resume on success.</p> <p>An error may be returned to the caller.</p> </div> <div class="section" id="save-out-u8-bytes-method"> <h3>Save(out u8[] bytes) method<a class="headerlink" href="#save-out-u8-bytes-method" title="Permalink to this headline">¶</a></h3> <p>The method called on the source to get the current state to be migrated. The helper should continue to run normally.</p> <p>An error may be returned to the caller.</p> </div> </div> </div> </div> </div> <footer> <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> <a href="live-block-operations.html" class="btn btn-neutral float-right" title="Live Block Device Operations" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> <a href="dbus.html" class="btn btn-neutral" title="D-Bus" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> </div> <hr/> <div role="contentinfo"> <p> © Copyright 2021, The QEMU Project Developers. </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. <!-- Empty para to force a blank line after "Built with Sphinx ..." --> <p></p> <p>This documentation is for QEMU version 6.2.0.</p> <p><a href="../about/license.html">QEMU and this manual are released under the GNU General Public License, version 2.</a></p> </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'../', VERSION:'qemu-kvm-6.2.0-53.module+el8.10.0+2055+8eb7870b.4', LANGUAGE:'None', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt' }; </script> <script type="text/javascript" src="../_static/jquery.js"></script> <script type="text/javascript" src="../_static/underscore.js"></script> <script type="text/javascript" src="../_static/doctools.js"></script> <script type="text/javascript" src="../_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.Navigation.enable(true); }); </script> </body> </html>