<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p><tt>Hi,<br>
      </tt></p>
    <p><tt>Currently the lock manager infrastructure has implementation
        of nop, sanlock</tt><tt><br>
      </tt><tt>and lockd. The first do nothing, while sanlock and lockd
        all requires the share</tt><tt><br>
      </tt><tt>stroage, and lockd is not provided fence mechanism,
        sanlock would force to</tt><tt><br>
      </tt><tt>restart OS when stopping daemon.</tt><tt><br>
      </tt><tt><br>
      </tt><tt>The first half of 2017, QEMU introduced the `share-rw`
        and `file.locking` to</tt><tt><br>
      </tt><tt>handle a problem:
        <a class="moz-txt-link-freetext" href="https://bugzilla.redhat.com/show_bug.cgi?id=1080152">https://bugzilla.redhat.com/show_bug.cgi?id=1080152</a> , someone</tt><tt><br>
      </tt><tt>said:</tt><tt><br>
      </tt><tt><br>
      </tt><tt>    There is also scope for creating new plugins for
        libvirt to use other</tt><tt><br>
      </tt><tt>    mechanism if someone comes up with other ideas.</tt><tt><br>
      </tt><tt><br>
      </tt><tt>So what about dlm-corosync?</tt><tt><br>
      </tt><tt><br>
      </tt><tt>DLM(distributed lock manage) is implemented by kernel, it
        provides some userspace</tt><tt><br>
      </tt><tt>API by "libdlm" to lock/unlock resource, using these API
        need a daemon named</tt><tt><br>
      </tt><tt>dlm_controld. "Corosync" is cluster messager layer using
        TCP or UDP, responsible</tt><tt><br>
      </tt><tt>for members management in cluster. dlm_controld and
        corosync are formed a kind of</tt><tt><br>
      </tt><tt>lock which could be used in cluster. And there is another
        component named "sbd"</tt><tt><br>
      </tt><tt>providing fence mechanism, it's not necessary,
        `dlm_controld -f 0` would disable it.</tt><tt><br>
      </tt><tt><br>
      </tt><tt>As for implement, I think we could make use of virtlockd
        daemon, just add some</tt><tt><br>
      </tt><tt>RPC callback in micro-on.</tt></p>
    <pre class="moz-signature" cols="72"><font size="-1">-- 
Regards
River</font></pre>
  </body>
</html>