<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, May 15, 2017 at 2:56 PM, Mohit Agrawal <span dir="ltr">&lt;<a href="mailto:moagrawa@redhat.com" target="_blank">moagrawa@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi,</div><div><br></div><div>  I was just checking of posix_getxattr code to debug of my one problem.I have found scope of improvement in </div><div>  this function to execute system call in better way.As of now function(posix_getxattr) is calling system </div><div>  calls (sys_lgetxattr) two times to get the value of xattr or in case of list of xattr it calls multiple times</div><div>  </div><div> 1) In first time it get the buffer size required to store the value.</div><div>     call &quot;size = sys_lgetxattr (real_path, key, NULL, 0);&quot;</div><div> 2) In second time it calls the sys_lgetxattr with buffer after allocate the buffer size</div><div>     sys_lgetxattr (real_path, key, value, size);</div><div><br></div><div>  In the same way function is calling for listxattr also.I think we can optimise it as like below</div><div>  declare buffer buf[8192](size can be double to this also)</div><div>  1) Call size = sys_lgetxattr (real_path,key,buf,8192)</div><div>  2) if size == -1 and errono == ERANGE then we need to call systemcalls in old way like above otherwise</div><div>     we don&#39;t need to do anything.</div><div> </div><div>  In the case of failure we need to call systemcall 3 times while buffer is more than our declared buffer</div><div>  size otherwise in most of the cases we need to call it only once.</div><div><br></div></div></blockquote><div><br></div><div>+1. <br><br>Please add a counter for the number of times the failure happens with ERANGE, and see if we can log offender keys. Helps to adjust the size later.<br><br></div><div>-Amar<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div></div><div>    Please share your input on this, appreciate your input.</div><div><br></div><div>Regards</div><span class="HOEnZb"><font color="#888888"><div>Mohit Agrawal</div></font></span></div>
<br>______________________________<wbr>_________________<br>
Gluster-devel mailing list<br>
<a href="mailto:Gluster-devel@gluster.org">Gluster-devel@gluster.org</a><br>
<a href="http://lists.gluster.org/mailman/listinfo/gluster-devel" rel="noreferrer" target="_blank">http://lists.gluster.org/<wbr>mailman/listinfo/gluster-devel</a><br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Amar Tumballi (amarts)<br></div></div></div></div></div>
</div></div>