<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Oct 21, 2019 at 11:58 AM Changwei Ge &lt;<a href="mailto:chge@linux.alibaba.com">chge@linux.alibaba.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
I am recently working on optimizing inode searching/getting/putting <br>
concurrency. Before the experiment/trial goes, I would like to get fully <br>
understand what the usage of several lists of inode table, especially <br>
for &#39;invalidate list&#39;, since the major difficulty making inode searching <br>
run concurrently is that We have to move inode from one list to the <br>
other and modify some attributes against inode table.<br>
After reading corresponding code, it seems that inode table &#39;invalidate <br>
list&#39; is only retrieved when destroying inode table(inode_table_destroy).<br>
<br>
Can someone help explain the list usage/purpose of &#39;invalidate list&#39;?<br></blockquote><div><br></div><div>&#39;invalidate_list&#39; is used only in client side. The patch which got it is below:</div><div><br></div><div><a href="https://github.com/gluster/glusterfs/commit/d49b41e817d592c1904b6f01716df6546dad3ebe">https://github.com/gluster/glusterfs/commit/d49b41e817d592c1904b6f01716df6546dad3ebe</a> </div><div><br></div><div>Hope this gives some idea.</div><div><br></div><div>Happy to help. If there is an interest, we can even have a video conference for all interested developers to discuss inode table, and detail out how it is done.</div><div><br></div><div>For getting complete history of changes to inode.c (from <a href="https://github.com/amarts/glusterfs/commit/72db44413ce4686b465c29ea8383fa4f09f53a76">https://github.com/amarts/glusterfs/commit/72db44413ce4686b465c29ea8383fa4f09f53a76</a>), you can clone <a href="http://github.com/amarts/glusterfs">github.com/amarts/glusterfs</a> and see that over time what changes got into the file... &#39;git log libglusterfs/src/inode.c&#39; gives an idea.</div><div><br></div><div>Regards,</div><div>Amar</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
<br>
Thanks,<br>
Changwei<br>
</blockquote></div></div>