<div dir="ltr">Hi all,<div>I had started a thread previously on the efforts we are undertaking to improve thread synchronization in GlusterD [1]. I had mentioned that we will be using RCU for synchronization and the userspace RCU library (liburcu) [2] for implementation.</div><div><br></div><div>I am now in a almost in a position to submit changes to Gerrit for review. But, I have an obstacle of making liburcu available on the jenkins slaves.</div><div><br></div><div>I have begun development using the 0.8.6 version of liburcu, which is the latest stable release. EPEL has liburcu packages for CentOS 6 and 7, but they are the of the older 0.7.* versions. Fedora has packages more recent packages, but they are still older, 0.8.1. [3].</div><div><br></div><div>Considering the above situation with binary packages, I&#39;m considering adding liburcu into the GlusterFS tree as a part of /contrib. This will be similar in vein to the argp-standalone library.</div><div><br></div><div>liburcu is licensed under LGPL-v2.1, so I don&#39;t think there is going to be any problem including it. But IANAL, so I would like to know of if this would if this is okay from a legal perspective.</div><div><br></div><div>I&#39;ll add the liburcu source to our tree and push the change for review. I&#39;m not really familiar with autotools, so I&#39;ll need some help integrating it into our build system. I&#39;ll update the list when I have pushed the change for review.</div><div><br></div><div>In the meantime, I&#39;d like to know if anyone has any objections to this plan. And also want to know of any alternative approaches.</div><div><br></div><div>~kaushal</div><div><br></div><div>[1]: <a href="http://www.gluster.org/pipermail/gluster-devel/2014-December/043382.html">http://www.gluster.org/pipermail/gluster-devel/2014-December/043382.html</a></div><div>[2]: <a href="http://urcu.so/">http://urcu.so/</a></div><div>[3]: <a href="https://apps.fedoraproject.org/packages/userspace-rcu">https://apps.fedoraproject.org/packages/userspace-rcu</a></div></div>