<div dir="ltr"><div>UPDATE:</div><div><br></div><div>Most of the plumbing work for new protocol for GlusterFS 4.0 is now done. Considering its a lot of code, there is scope for cleanup in terms of reducing duplicate code etc, but we would like to take them up post 4.0 branching.</div><div><br></div><div>Some of the main patches, which needs your review and merging help are:</div><div><br></div><div>* <a href="https://review.gluster.org/18850">https://review.gluster.org/18850</a> : new iatt (for statx() support for future, but also to keep the backward compatibility).</div><div>* <a href="https://review.gluster.org/18768">https://review.gluster.org/18768</a> : Changes to common RPC structure, can be used to send more info in every frame (fop) passed over. Currently adds create-time of the flag. </div><div>* <a href="https://review.gluster.org/19096">https://review.gluster.org/19096</a> : Adding more APIs to dict (so that IATT/UUID can be sent on wire properly).</div><div>* <a href="https://review.gluster.org/19095">https://review.gluster.org/19095</a> : To modify fop XDRs to add iattx and new dict format in every fop.</div><div>* <a href="https://review.gluster.org/19098">https://review.gluster.org/19098</a> : add all the new fops in protocol xlators. (mostly copy paste and basic modifications).</div><div><br></div><div>With these patches merged, the protocol will be brand new, and also will be backward compatible with 3.x version (both client and server). I request people concerned with protocol to review these patches, and get them merged before Jan 15th for branch-out.</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 Fri, Aug 11, 2017 at 6:04 PM, Amar Tumballi <span dir="ltr"><<a href="mailto:atumball@redhat.com" target="_blank">atumball@redhat.com</a>></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><div>Hi All,<br><br></div>Below are the proposed protocol changes (ie, XDR changes on the wire) we are thinking for Gluster 4.0.<br><br></div><ul><li>rchecksum/fsetattr: Add 'gfid' field on wire</li></ul><p>Basic work already done at <a href="https://review.gluster.org/#/c/3956/" target="_blank">https://review.gluster.org/#/<wbr>c/3956/</a> . Considering its 5yrs old patch, I refreshed it at <a href="https://review.gluster.org/17656" target="_blank">https://review.gluster.org/<wbr>17656</a> for experimental branch, and it is all working fine.</p><p>This patch also helps in creating new RPC program etc, so for all other XDR changes, we only need to handle the specific change in the patch.</p><p><span style="color:rgb(0,255,0)">STATUS: GREEN</span><br></p><ul><li>statx() support</li></ul><p><a href="https://github.com/gluster/glusterfs/issues/273" target="_blank">https://github.com/gluster/<wbr>glusterfs/issues/273</a> talks more on it. We can consider to make XDR changes for sure even if we don't implement the fops in all other xlator IMO, so there won't be clients' compatibility issue.</p><p><span style="color:rgb(255,0,0)">STATUS: RED </span>(As no work has been started yet)</p><ul><li>Changes to 'gf_flock' structure on wire</li></ul><p>More on it @ <a href="https://review.gluster.org/#/c/15698" target="_blank">https://review.gluster.org/#/<wbr>c/15698</a>. Can be handled without this change by using xdata, but adding this field in the XDR will make it faster, and less error prone.</p><p><span style="color:rgb(255,255,0)">STATUS: YELLOW</span></p><ul><li>Changes in few of the 'fops' to get struct iatt in _cbk</li></ul><p>This is needed for mainly handling the cases of fail over during rebalance, self-heal etc. Today, because we don't have a protocol support, our cross architecture compatibility is broken, mainly because we send iatt as binary in xdata dict, which is not desirable.</p><p><span style="color:rgb(255,0,0)">STATUS: RED</span></p><p>(Red as we need to hear from team on what are the changes needed, and it would be significant change as we may have to change the fops signature itself).</p><ul><li>fadvise()</li></ul><p>As per the email thread <a href="http://lists.gluster.org/pipermail/gluster-devel/2017-August/053457.html" target="_blank">http://lists.gluster.org/<wbr>pipermail/gluster-devel/2017-<wbr>August/053457.html</a>, if we implement the fop, we would need a new XDR for it.</p><p><span style="color:rgb(255,0,0)">STATUS: RED</span></p><p>(It is red as it is still in discovery phase)<br></p><ul><li>Misc</li></ul><p>We don't have any other proposal for protocol change for now, other than a suggestion from Jeff Darcy about taking out the common flags we use across the board, inside xdata, and make them as 'flags' itself in XDR, for better perf, and manageability. <br></p><p><span style="color:rgb(255,0,0)">STATUS: RED <br></span></p><p>(Mainly because the work is about discovery and changing the fops signature itself).</p><p><br></p><p>This is the good time to highlight if you need any further changes in protocol itself, and start towards getting it implemented and tested. I volunteer to review all such patches, and happy to co-ordinate it on experimental branch before sending them as a single patch (or multiple dependent, granular patches) on master when we feel it is ready.</p><p><br></p><p>Regards,<br></p><p>Amar<span class="HOEnZb"><font color="#888888"><br></font></span></p><span class="HOEnZb"><font color="#888888"><p><br></p><div><div><div>-- <br><div class="m_5708517654178220580gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Amar Tumballi (amarts)<br></div></div></div></div></div>
</div></div></div></font></span></div>
</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>