<div dir="ltr">Review <a href="http://review.gluster.org/9624">http://review.gluster.org/9624</a> just got merged. This is the first actual code change to be using liburcu within GlusterD.<div><br></div><div>This change replaces the usage of libglusterfs list data structures and APIs, with the data structures and APIs provided by liburcu. The replacement is mostly a case of prefixing the libglusterfs list data structure and API names.</div><div><br></div><div>We chose to do a complete replacement within GlusterD to prevent confusion to developers. We could have just used the liburcu lists just for the lists we wanted to protect with RCU, but it would require more effort from developers to decide on which list API to use for a given list.</div><div><br></div><div>The liburcu APIs and data structures have a `cds_` prefix, and are other otherwise the same as libglusterfs counterparts. For eg.</div><div>list_head -&gt; cds_list_head</div><div>INIT_LIST_HEAD -&gt; CDS_INIT_LIST_HEAD</div><div>list_for_each -&gt; cds_list_for_each</div><div>list_entry -&gt; cds_list_entry</div><div>etc.</div><div><br></div><div>The above change just lays a base for the introduction of the actual RCU protection changes, which will be following soon (beginning with protection for peerinfos).</div><div><br></div><div>Thanks.</div><div><br></div><div>~kaushal</div></div>