<div dir="ltr">Hi Riya,<div><br></div><div>Thanks for writing to us. Some questions before we start on this. </div><div><br></div><div>* Where can we see your work of modifying the fuse module to cache the calls? Some reference would help us to provide more specific pointers. (or ask better questions).</div><div><br></div><div>* If the caching happened in fuse module, and it expects the regular arguments as the parameters, then there may not be any work required at all in glusterfs, as it works on low-level fuse api.</div><div><br></div><div>* Also, how to invalidate caches from userspace program? because GlusterFS could be accessed from multiple clients, so it becomes an important piece to have.</div><div><br></div><div>For referring at the codebase to look at integration with fuse module, please check the directory &#39;xlators/mount/fuse/src/&#39; and mostly the file &#39;fuse-bridge.c&#39;.</div><div><br></div><div>Thanks for your interest in project, would be great to collaborate on this effort, as it can enhance the performance of glusterfs in many usecases.</div><div><br></div><div>Regards,</div><div>Amar</div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 2, 2018 at 6:34 AM, riya khanna <span dir="ltr">&lt;<a href="mailto:riyakhanna1983@gmail.com" target="_blank">riyakhanna1983@gmail.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">Hi,<div><br></div><div><span style="font-size:12.800000190734863px">I&#39;ve modified FUSE framework to take a part of user-space daemon code and moves it into the kernel fuse driver to minimize user-kernel-user switches during file system  operations. An example would be caching getattr/getxattr/lookup/<wbr>security checks etc. This design, therefore, create fast (served directly from the kernel) and a slow (regular fuse) execution paths. The fast and slow paths can also communicate with each other using shared memory.</span></div><div><span style="font-size:12.800000190734863px"><br></span></div><div><span style="font-size:12.800000190734863px">I was wondering if it is possible to accelerate glusterfs using this design. </span><span style="font-size:12.800000190734863px">What pieces could (</span><span style="font-size:12.800000190734863px">should) </span><span style="font-size:12.800000190734863px">be easily moved to kernel space? Any pointers would be highly appreciated. Thanks!</span></div><span class="HOEnZb"><font color="#888888"><div><br></div><div><span style="font-size:12.800000190734863px">-Riya</span></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"><div><br></div>-- <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>