<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 2, 2017 at 8:17 PM, Ravishankar N <span dir="ltr">&lt;<a href="mailto:ravishankar@redhat.com" target="_blank">ravishankar@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF"><span class="gmail-">
    <div class="gmail-m_-4204914587949192022moz-cite-prefix">On 02/02/2017 10:46 AM, jayakrishnan mm
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">
        <div>Hi</div>
        <div><br>
        </div>
        <div>How  do I determine, which part of the  code is run on the
          client, and which part of the code is run on the server
          nodes by merely looking at the the glusterfs  source code ?</div>
        <div>I knew  there are client side  and server side translators
          which will run on respective platforms. I am looking at part
          of self heal daemon source  (ec/afr) which will run on the
          server nodes  and  the part which run on the clients.</div>
      </div>
    </blockquote>
     <br></span>
    The self-heal daemon that runs on the server is also a client
    process in the sense that it has client side xlators like ec or afr
    and  protocol/client (see the shd volfile &#39;glustershd-server.vol&#39;)
    loaded and talks to the bricks like a normal client does.<br>
    The difference is that only self-heal related &#39;logic&#39; get executed
    on the shd while both self-heal and I/O related logic get executed
    from the mount. The self-heal logic resides mostly in
    afr-self-heal*.[ch] while I/O related logic is there in the other
    files.<br>
    HTH,<br>
    Ravi<br></div></blockquote><div><br></div><span style="font-size:12.8000001907349px">Dear  Ravi,</span><div style="font-size:12.8000001907349px">Thanks for your kind explanation.</div><div style="font-size:12.8000001907349px">So, each server node will have a separate self-heal daemon(shd) up and running , every time a child_up event occurs, and this will  be an index healer. </div><div style="font-size:12.8000001907349px">And each daemon  will spawn  &quot;priv-&gt;child_count &quot; number of threads on each server node . correct ?</div><div style="font-size:12.8000001907349px">1. When exactly a full healer spawns  threads? </div><div style="font-size:12.8000001907349px">2. When can GF_EVENT_TRANSLATOR_OP &amp; GF_SHD_OP_HEAL_INDEX happen together (so that index healer spawns thread) ?</div><div style="font-size:12.8000001907349px">    similarly when can GF_EVENT_TRANSLATOR_OP &amp; GF_SHD_OP_HEAL_FULL  happen ? During replace-brick ?</div><div style="font-size:12.8000001907349px">Is it possible that index healer and full healer spawns threads together (so that total number of  threads  is 2*priv-&gt;child_count)?</div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px">3. In /var/lib/glusterd/glustershd/<wbr>glustershd-server.vol , why  debug/io-stats  is chosen as the top xlator ?</div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px">Thanks</div><div><span style="font-size:12.8000001907349px">Best regards</span> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div bgcolor="#FFFFFF">
    <blockquote type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div>Best regards</div>
        <div>JK</div>
      </div>
      <br>
      <fieldset class="gmail-m_-4204914587949192022mimeAttachmentHeader"></fieldset>
      <br>
      <pre>______________________________<wbr>_________________
Gluster-devel mailing list
<a class="gmail-m_-4204914587949192022moz-txt-link-abbreviated" href="mailto:Gluster-devel@gluster.org" target="_blank">Gluster-devel@gluster.org</a>
<a class="gmail-m_-4204914587949192022moz-txt-link-freetext" href="http://lists.gluster.org/mailman/listinfo/gluster-devel" target="_blank">http://lists.gluster.org/<wbr>mailman/listinfo/gluster-devel</a></pre>
    </blockquote>
    <p><br>
    </p>
  </div>

</blockquote></div><br></div></div>